python读取oracle数据库数据

用Python直接读取Oracle数据? cx_Oracle 模块完成。
说白了,就是进入数据库;连接到数据库;打开 SQL 关闭连接。

首先安装cx_Oracle。
只需在命令行中输入 pip install cx_Oracle 即可。
如果您使用 OracleNet;您需要整个 tnsnames.ora 文件;或者直接在连接字符串中写入tns名称。
系统还必须安装 Oracle 客户端库,例如 InstantClient。

连接数据库是最重要的。
cx_Oracle.connect() 用户名​​;传递密码和 DSN。
什么是 DSN?主机名:端口/服务名,如localhost:1 5 2 1 /ORCL; 1 5 2 1 是默认端口,ORCL 是服务名称。
使用 TNS 别名?直接跳过tnsname参数即可。

打开 SQL。
connection.cursor() 创建游标,execute() 执行 SQL。
例如,查看完整的时间表: 蟒蛇 cursor.execute("SELECT FROM员工")
防止SQL注入?使用绑定变量。
例如,要检查员工: 蟒蛇 cursor.execute("从员工中选择,其中employee_id=:id", id=1 00)
根据结果采取行动。
三种方式 1 . fetchall():获取所有数据并返回多个元组。
直接通过索引读取: 蟒蛇 游标.fetchall(): print(row[0]) 第一列
2 . fetchmany(num):批量获取数据;例如一次1 0节课 蟒蛇 当为真时: 批处理 = 游标.fetchmany(1 0); 如果不是批量的话。
鸽子 对于一系列行 打印(行)
3 fetchone():获取适合多个数据的一行。

最后,连接到光标不要忘记将其关闭。
蟒蛇 光标.close() 连接.close()
填写代码?供您参考: 蟒蛇 导入 cx_Oracle
连接。
连接= cx_Oracle.connect(用户=“hr”,密码=“hr_password”,dsn=“localhost:1 5 2 1 /ORCLPDB”) 尝试一下 光标 = 连接.cursor() 执行查询(使用绑定变量) 光标.执行(""" 选择员工 ID;名字;姓氏;薪资 来自员工 WHERE Department_id = :dept_id “””,dept_id=6 0) 获取列名称并打印它们。
对于列中的 col = [col[0] 光标.描述]。
游标.fetchall(): 切换到字典并按列名称读取。
row_dict = dict(zip(列, 行)); print(f"ID-{row_dict['EMPLOYEE_ID']}, 姓名-{row_dict['FIRST_NAME']} {row_dict['LAST_NAME']}, 工资-{row_dict['SALARY']}") 最后: 确保资源已生成。
光标.close() 连接.close()
注意:必须更改连接参数。
不要对密码进行硬编码;使用环境变量或配置文件。
对于大量数据,请使用 fetchmany() 或 fetchone()。
与 try-finally 或语句一起使用以确保连接已关闭。

有具体问题吗?

如何在Python环境下连接Oracle数据库

上周,有客户询问如何在Python环境下连接Oracle数据库。
我向他解释了。
以下是我自己尝试过的技巧和一些步骤:
首先,您需要下载并安装 cx_Oracle 驱动程序。
这个库是Oracle数据库连接的关键。
您应该下载与您的 Python 版本相邻的适当版本。
例如,2 02 3 年1 月,我在上海一家商场的电脑店里发现了一位顾客。
他的Python版本是3 .8 ,所以我帮他安装了3 .8 版本的cx_Oracle。

接下来,如果您在 Oracle 计算机上安装了 cx_Oracle,则需要将 OCI.DLL 文件从 Oracle 安装文件夹复制到 Python {PYTHON_HOME} Libsite 包。
该 DLL 文件是 Oracle 客户端库的一部分。
就像我之前在客户端中所做的那样,我从 D:\Ora8 1 \OCI.DLL 复制到 Python Libsitepackages presul。

接下来,您需要安装Oracle客户端工具。
该工具提供了必要的配置工具和文件库。
让我告诉你,当你安装这个工具时,没有遗漏任何步骤。
我之前有过一些客户因为错过了一小步而无法连接到数据库。

设置环境变量也很关键。
需要添加ORACLE_HOME环境变量并将其设置为Oracle客户端安装,例如D:\Ora8 1 太聪明了,不能把赌场。
根据现有路径添加Oracle客户端目录,如D:Ora8 1 bin。

编写和运行测试程序也很容易。
您可以使用 cx_Oracle 方法将 Python 脚本写入 Oracle 数据库。
例如:
Python 导入cx_Oracle
用户=“xjtu_test” 密码=“3 7 3 4 3 7 3 4 ” tus = "xjtu.world"
con = cx_Oracle.connect(用户、密码、tus) 光标 = con.cursor() 光标.close() con.close()
运行此脚本查看是否可以成功连接到Oracle数据库。

注意:确保 Oracle 和 cx_Oracle 驱动程序的客户端版本兼容。
TNS 名称可以通过 Oracle 客户端工具通过 NetConfiguration Assistant 进行配置,或者使用 EasyConnect 字符串代替 TN 名称。
如果遇到连接问题,应检查环境变量设置、Oracle 客户端配置和数据库凭据是否正确。

不知何故,你可以看到。
如果您还有其他问题,请随时问我。
我还在想这个。