cx

您所在的位置:网站首页 古墓丽影steam叫什么 cx

cx

2023-06-01 04:37| 来源: 网络整理| 查看: 265

前言

实习生:我要用python访问oracle,我究竟该用哪个库啊,网上搜的有两个,一个是cx_Oracle另一个是oracledb,这两个有什么区别? 我:话说那是2022年5月一个阴云密布的日子,甲骨文发布了python oracledb驱动程序。与早期的cx_Oracle驱动程序(创建于1999年)一样,该模块允许Python应用程序连接到Oracle数据库,执行SQL和PL/SQL语句,并执行SODA操作。这两个驱动程序都实现了Python数据库API规范2.0版,有很多扩展,只有一些必要的遗漏。该规范的支持允许在流行的Python框架、ORM和SQL生成器包中使用这两个驱动程序。这两个驱动程序都可以从PyPi、conda-forge和各种Linux存储库中安装。它们都由Oracle维护。 实习生:别扯淡了行吗?你就告诉我有什么区别

区别

Python oracledb只是cx_Oracle的最新主要版本,恰好有了一个新名称。可以将其视为cx_Oracle 9,cx_Oracle8.3的继承者。

除了具有新功能外,作为一个主要版本,还有一些变化需要注意: cx_Oracle中长期不推荐使用的一些功能在python oracledb中不可用;连接函数需要命名关键字参数;如果要继续使用Oracle客户端库(即使用“thick模式”),则必须调用init_oracle_client()方法。

这两个库今后会怎么发展

看看官方的说明:

正如我们在以前的cx_Oracle命名空间下所做的那样,我们将继续增强和维护python oracledb。自2022的1.0.0发布以来,我们已经发布了三个功能版本和各种其他错误修复版本。

还没有看到任何对cx_Oracle 8.3驱动程序进行bug修复的需求。它有着悠久的历史,并且建立在广泛使用的Oracle客户端库之上,非常稳定。cx_Oracle用户一直积极升级,不希望发布小补丁。例如,在cx_Oracle8.0发布后,我们从未被要求为其前身cx_Oracle 7.3创建错误修复补丁版本。这并不是说我们将来不会为cx_Oracle 8.3做这样的事情,但似乎不太可能需要它。python oracledb的采用率非常高。当python oracledb发布时,我们假设几年后(即大约2024年5月),我们将不再考虑发布任何cx_Oracle bug修复版本,具体取决于您的反馈。这仍然是我们的计划。

代码示例 import oracledb # Connect to the database # 记得此处要下载instantclient,具体版本需要对应oracle的版本 oracledb.init_oracle_client(lib_dir=r"D:\\data\\oracle\\instantclient_11_2") conn = oracledb.connect( host="10.9.44.xx", port=1521, user="user", password="123456", service_name="dbname", encoding="utf8" ) # Create a cursor cursor = conn.cursor() # Execute a SELECT statement cursor.execute('SELECT * FROM tb') # Fetch the results results = cursor.fetchall() # Loop through the results for row in results: print(row) 后记

我鼓励你测试并计划升级到python oracledb,这就是未来的趋势。你可以利用新的(和即将推出的)功能,并从新的(可选的)精简模式的性能优势中获益。当然,如果你愿意,你可以继续使用Oracle Instant Client的“Thick模式”。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3