📅  最后修改于: 2023-12-03 15:03:21.718000             🧑  作者: Mango
OLE DB是一种面向连接的数据库API,可用于访问SQL Server,Oracle等 数据库。Python可以通过使用pyodbc 库来连接OLE DB数据源。本文将介绍如何使用Python和pyodbc来连接OLE DB数据源以及一些常见的查询操作。
首先,需要安装pyodbc 库。可以使用pip来安装pyodbc:
pip install pyodbc
连接到OLE DB数据源需要指定数据源名称、服务器地址、需要连接的数据库名称、用户名和密码。以下是一个示例代码片段,用于连接到SQL Server数据源:
import pyodbc
# 定义连接
conn = pyodbc.connect('DSN=<数据源名称>;SERVER=<服务器地址>;DATABASE=<数据库名称>;UID=<用户名>;PWD=<密码>')
# 创建游标
cursor = conn.cursor()
# 执行查询操作
cursor.execute("SELECT * FROM <表名>")
# 获取结果
results = cursor.fetchall()
# 打印结果
for row in results:
print(row)
请注意,在上面的代码片段中,需要将<数据源名称>
,<服务器地址>
,<数据库名称>
,<用户名>
和<密码>
的值替换为实际的值。然后运行上面的代码片段,查看结果。
连接到OLE DB数据源后,可以执行各种查询操作。以下是一些常见的查询操作:
可以使用以下代码片段查询数据库中的所有表:
cursor.execute("SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='BASE TABLE'")
# 获取所有表名
tables = cursor.fetchall()
# 打印表名
for table in tables:
print(table[0])
可以使用以下代码片段查询表结构:
cursor.execute("SELECT COLUMN_NAME, DATA_TYPE FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='<表名>'")
# 获取表结构
columns = cursor.fetchall()
# 打印表结构
for column in columns:
print(column[0], column[1])
请注意,在上面的代码片段中,需要将<表名>
的值替换为实际的表名。
可以使用以下代码片段向表中插入数据:
cursor.execute("INSERT INTO <表名> (column1, column2, column3) VALUES (?, ?, ?)", value1, value2, value3)
# 提交事务
conn.commit()
请注意,在上面的代码片段中,需要将<表名>
的值替换为实际的表名,并将value1
,value2
和value3
的值替换为要插入的实际值。
使用Python和pyodbc连接到OLE DB数据源非常容易,并且可以使用各种查询操作。上面的代码片段可以作为起点,以创建自定义的查询操作。