python 连接db2可以连接两个schma吗
时间: 2023-12-01 11:05:06 浏览: 109
PB560 - Electrical Schematics_MedtronicPB560_PB560_cowg91_呼吸机系统_
是的,Python 可以连接 DB2 数据库,并且可以连接多个 schema。你可以使用 `ibm_db` 或者 `pyodbc` 这样的库来实现连接。首先,你需要安装适当的库,然后使用以下示例代码来连接 DB2 数据库并连接两个 schema:
使用 `ibm_db` 库的示例代码:
```python
import ibm_db
# 连接到 DB2 数据库
conn = ibm_db.connect("DATABASE=db_name;HOSTNAME=host_name;PORT=port;PROTOCOL=TCPIP;UID=username;PWD=password;", "", "")
# 切换到第一个 schema
stmt = ibm_db.exec_immediate(conn, "SET SCHEMA schema1")
# 执行第一个 schema 的查询
stmt = ibm_db.exec_immediate(conn, "SELECT * FROM table1")
# 切换到第二个 schema
stmt = ibm_db.exec_immediate(conn, "SET SCHEMA schema2")
# 执行第二个 schema 的查询
stmt = ibm_db.exec_immediate(conn, "SELECT * FROM table2")
# 关闭连接
ibm_db.close(conn)
```
使用 `pyodbc` 库的示例代码:
```python
import pyodbc
# 连接到 DB2 数据库
conn = pyodbc.connect("DRIVER={IBM DB2 ODBC DRIVER};DATABASE=db_name;HOSTNAME=host_name;PORT=port;PROTOCOL=TCPIP;UID=username;PWD=password;")
# 创建游标对象
cursor = conn.cursor()
# 切换到第一个 schema
cursor.execute("SET SCHEMA schema1")
# 执行第一个 schema 的查询
cursor.execute("SELECT * FROM table1")
# 切换到第二个 schema
cursor.execute("SET SCHEMA schema2")
# 执行第二个 schema 的查询
cursor.execute("SELECT * FROM table2")
# 获取查询结果
results = cursor.fetchall()
# 关闭连接
cursor.close()
conn.close()
```
请根据你的具体情况修改连接字符串中的数据库名称、主机名、端口号、用户名和密码,并根据需要执行适当的查询语句。
阅读全文