连接DB2数据库可以使用Python中的DB2驱动程序。在这里我们将详细介绍连接DB2数据库的完整攻略,并提供两个示例,演示如何使用Python连接DB2数据库。
步骤1:安装DB2驱动程序
要在Python中连接DB2数据库,必须先安装DB2驱动程序。DB2驱动程序可在IBM官网上下载。您需要根据您的运行环境下载适当的驱动程序。将下载的文件解压缩到您选择的目录中。
步骤2:安装Python DB2驱动
要在Python中使用DB2驱动程序,您需要安装Python DB2驱动。最常用的Python DB2驱动程序是ibm_db。您可以在命令行中使用以下命令安装:
pip install ibm_db
步骤3:建立DB2数据库连接
在Python中使用ibm_db.connect()函数建立DB2数据库连接。该函数需要以下参数:
- host_name:数据库服务器的主机名或IP地址。
- port_number:数据库服务器的端口号。
- user_id:用于连接数据库的用户名。
- password:用于连接数据库的密码。
- database_name:要连接的数据库的名称。
以下是连接DB2数据库的示例代码:
import ibm_db
# Set up DB2 connection parameters
dsn_driver = "IBM DB2 ODBC DRIVER"
dsn_database = "database_name"
dsn_hostname = "database_server_name"
dsn_port = "50000"
dsn_protocol = "TCPIP"
# Create database connection
dsn = (
"DRIVER={0};"
"DATABASE={1};"
"HOSTNAME={2};"
"PORT={3};"
"PROTOCOL={4};"
"UID={5};"
"PWD={6};").format(dsn_driver, dsn_database, dsn_hostname, dsn_port, dsn_protocol, username, password)
try:
conn = ibm_db.connect(dsn, "", "")
print("Connection succeeded.")
except Exception as ex:
print(str(ex))
步骤4:执行数据库查询
在成功建立数据库连接之后,可以使用ibm_db.exec_immediate()函数执行数据库查询。以下是一个使用ibm_db.exec_immediate()函数执行查询的示例:
import ibm_db
# Establish a database connection
dsn_driver = "IBM DB2 ODBC DRIVER"
dsn_database = "database_name"
dsn_hostname = "database_server_name"
dsn_port = "50000"
dsn_protocol = "TCPIP"
username = "user_name"
password = "password"
dsn = (
"DRIVER={0};"
"DATABASE={1};"
"HOSTNAME={2};"
"PORT={3};"
"PROTOCOL={4};"
"UID={5};"
"PWD={6};").format(dsn_driver, dsn_database, dsn_hostname, dsn_port, dsn_protocol, username, password)
# Connect to the database
conn = ibm_db.connect(dsn, "", "")
# Execute the query
stmt = ibm_db.exec_immediate(conn, "SELECT * FROM your_table")
# Fetch the query results
ibm_db.fetch_both(stmt)
示例
以下是一个完整的示例,演示如何使用Python连接DB2数据库:
import ibm_db
# Set up DB2 connection parameters
dsn_driver = "IBM DB2 ODBC DRIVER"
dsn_database = "database_name"
dsn_hostname = "database_server_name"
dsn_port = "50000"
dsn_protocol = "TCPIP"
username = "user_name"
password = "password"
dsn = (
"DRIVER={0};"
"DATABASE={1};"
"HOSTNAME={2};"
"PORT={3};"
"PROTOCOL={4};"
"UID={5};"
"PWD={6};").format(dsn_driver, dsn_database, dsn_hostname, dsn_port, dsn_protocol, username, password)
try:
# Connect to the database
conn = ibm_db.connect(dsn, "", "")
print("Connection succeeded.")
# Execute the query
stmt = ibm_db.exec_immediate(conn, "SELECT * FROM your_table")
# Fetch the query results
while ibm_db.fetch_row(stmt):
print("Column1: ", ibm_db.result(stmt, "COLUMN1_NAME"))
print("Column2: ", ibm_db.result(stmt, "COLUMN2_NAME"))
except Exception as ex:
print(str(ex))
ibm_db.close(conn)
另外一个示例是基于ibm_db_dbi模块的Python DB2数据查询示例,它提供更标准和更容易的查询方式。以下是这个示例的代码:
import ibm_db_dbi
# Set up DB2 connection parameters
dsn_driver = "IBM DB2 ODBC DRIVER"
dsn_database = "database_name"
dsn_hostname = "database_server_name"
dsn_port = "50000"
dsn_protocol = "TCPIP"
username = "user_name"
password = "password"
dsn = (
"DRIVER={0};"
"DATABASE={1};"
"HOSTNAME={2};"
"PORT={3};"
"PROTOCOL={4};"
"UID={5};"
"PWD={6};").format(dsn_driver, dsn_database, dsn_hostname, dsn_port, dsn_protocol, username, password)
try:
# Connect to the database
conn = ibm_db_dbi.connect(dsn)
print("Connection succeeded.")
# Execute the query
cursor = conn.cursor()
cursor.execute("SELECT * FROM your_table")
# Fetch the query results
for row in cursor.fetchall():
print(row)
except Exception as ex:
print(str(ex))
ibm_db.close(conn)
这个示例可通过使用标准化Python DB-API 2.0数据库接口来提供更容易和更可移植的查询方式。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python连接DB2数据库 - Python技术站