python3连接oracle数据库

声明:pythoncx_Oracleinstantclient的版本应一致

我这里使用的版本是python3.6 64 ,cx_Oracle-5.3-11g.win-amd64-py3.6-2instantclient-basic-windows.x64-18.5.0.0.0dbru

1. 首先安装cx_Oracle

尽量不要直接使用pip install cx_Oracle,这样默认安装的是最新版本的cx_Oracle,可能会出现以下错误

1.1 cx_Oracle 报错:cx_Oracle.DatabaseError: DPI-1050: Oracle Client library must be at version 11.2

解决方法:从 https://pypi.python.org/pypi/cx_Oracle/5.3 下载低版本cx_Oracle版本 可以下载cx_Oracle-5.3-11g.win-amd64-py3.6-2.exe ,然后直接安装

1.2 如果在安装cx_Oracle-5.3-11g.win-amd64-py3.6-2.exe 时提示Python version 3.6 required, which was not found in the registry

可以通过执行这个文件来解决

register.py   链接: https://pan.baidu.com/s/1GcPK_I7ddSLZkM2sv7AHtA    提取码: qrwm 

2. 下载instantclient-basic-windows.x64-11.2.0.4.0.zip,解压并配置环境变量(放到path中)

下载地址:https://www.oracle.com/technetwork/cn/topics/winx64soft-101515-zhs.html

下载好后解压,并配置环境变量

3. instantclient下所有.dll文件到python\Lib\site-packages\下(我这里的路径为C:\Develop\Anaconda3\Lib\site-packages

4. 测试代码如下

import cx_Oracle conn=cx_Oracle.connect('username','password','172.16.5.29:1521/ORCL') cursor=conn.cursor()   print("连接成功!")   cursor.close() conn.commit() conn.close()

当你看到“连接成功”的提示语句时,那么就恭喜你成功了用python连上了oracle数据库

python 获取mysql查询结果的相应字段值

完成这个任务的整体流程,具体步骤如下:

步骤1        连接到MySQL数据库

步骤2        执行SQL查询语句

步骤3        获取查询结果

步骤4        提取相应字段的值

接下来,我将逐个步骤详细说明。

步骤1:连接到MySQL数据库

首先,我们需要安装Python的MySQL驱动程序。在命令行中运行以下命令安装驱动程序:

pip install mysql-connector-python  #mysql-connector已经过期

接下来,在Python脚本中引入MySQL驱动程序,并使用connect()函数连接到MySQL数据库。你需要提供数据库的相关信息,例如主机名、用户名、密码和数据库名称。

import mysql.connector

# 连接到MySQL数据库

cnx = mysql.connector.connect(

  host=”localhost”,

  user=”yourusername”,

  password=”yourpassword”,

  database=”yourdatabase”

)

步骤2:执行SQL查询语句

一旦成功连接到MySQL数据库,我们就可以执行SQL查询语句了。在这个示例中,我们执行一个简单的SELECT语句来检索一条数据:

# 执行SELECT语句

cursor = cnx.cursor()

sql = “SELECT * FROM yourtable”

cursor.execute(sql)

步骤3:获取查询结果

执行查询后,我们需要从结果中获取数据。MySQL驱动程序提供了fetchall()方法来获取所有查询结果。这个方法返回一个元组列表,每个元组代表一条查询结果。

# 获取查询结果

results = cursor.fetchall()

步骤4:提取相应字段的值

最后,我们需要从查询结果中提取相应字段的值。假设我们的查询结果包含三个字段:id、name和age。我们可以使用索引来提取这些字段的值。

# 提取相应字段的值

for result in results:

  id = result[0]

  name = result[1]

  age = result[2]

  print(“ID: “, id)

  print(“Name: “, name)

  print(“Age: “, age)

完成以上步骤后,你将能够成功获取MySQL查询结果的相应字段值。

腾讯云图