admin 发表于 2023-12-29 05:46:09

python获取数据库连接串并进行查询

要从表中获取Oracle数据库的IP、端口和服务名称,并连接到该数据库,你可以使用Python中的Oracle数据库连接库cx_Oracle。

请确保已安装cx_Oracle库,可以使用pip命令进行安装:pip install cx_Oracle

下面是一个示例代码,演示了如何从表中获取连接信息并连接到Oracle数据库:
import cx_Oracle

# 数据库连接信息
db_username = 'your_username'
db_password = 'your_password'
db_host = 'your_host'
db_port = 'your_port'
db_service_name = 'your_service_name'

# 表名和字段名
table_name = 'your_table'
ip_column = 'ip_column'
port_column = 'port_column'
service_name_column = 'service_name_column'

try:
    # 建立与Oracle数据库的连接
    dsn = cx_Oracle.makedsn(db_host, db_port, service_name=db_service_name)
    connection = cx_Oracle.connect(db_username, db_password, dsn=dsn)

    # 创建游标对象
    cursor = connection.cursor()

    # 查询表中的连接信息
    query = f"SELECT {ip_column}, {port_column}, {service_name_column} FROM {table_name}"
    cursor.execute(query)

    # 获取查询结果
    result = cursor.fetchone()

    if result:
      ip = result
      port = result
      service_name = result

      # 使用获取到的连接信息重新建立连接
      dsn = cx_Oracle.makedsn(ip, port, service_name=service_name)
      connection = cx_Oracle.connect(db_username, db_password, dsn=dsn)

      # 执行其他操作...
      # 例如执行SQL查询、更新或插入数据

    # 关闭游标和连接
    cursor.close()
    connection.close()
except cx_Oracle.DatabaseError as e:
    print(f"Error connecting to Oracle database: {e}")
在上述示例代码中,你需要替换以下变量的值:

db_username:Oracle数据库的用户名
db_password:Oracle数据库的密码
db_host:Oracle数据库的IP地址或主机名
db_port:Oracle数据库的端口号
db_service_name:Oracle数据库的服务名称
table_name:包含连接信息的表名
ip_column:存储IP地址的列名
port_column:存储端口号的列名
service_name_column:存储服务名称的列名
请确保提供的用户名、密码和连接信息正确,并且表中的列名与代码中指定的列名一致。

页: [1]
查看完整版本: python获取数据库连接串并进行查询