python 利用cx_Oracle访问oracle
import cx_Oracle # 连接数据库 def connect_to_oracle(): try: # 一般情况会在此处添加oracle的安装路径,避免报错 cx_Oracle.init_oracle_client(lib_dir=r"E:/xxx/instantclient_11_2_64/") # 连接参数 dsn = cx_Oracle.makedsn( host='11.22.33.44', # 主机名或IP port='1521', # 端口,默认1521 service_name='xxx' # 服务名 ) # 建立连接 connection = cx_Oracle.connect( user='xxx', password='xxx', dsn=dsn ) print("成功连接到Oracle数据库") return connection except cx_Oracle.DatabaseError as e: print(f"数据库连接错误: {e}") return None # 查询并遍历数据 def query_and_iterate_data(connection): if not connection: print("没有有效的数据库连接") return cursor = None try: # 创建游标 cursor = connection.cursor() # 执行SQL查询 sql = "SELECT * FROM tab_xxx WHERE rownum <= 10" # 示例查询 cursor.execute(sql) # 获取列名 column_names = [col[0] for col in cursor.description] print("列名:", column_names) print("\n查询结果:") # 遍历结果集 for row in cursor: print(row) except cx_Oracle.DatabaseError as e: print(f"查询错误: {e}") finally: if cursor: cursor.close() # 主程序 if __name__ == "__main__": conn = connect_to_oracle() if conn: query_and_iterate_data(conn) conn.close() # 关闭连接 print("数据库连接已关闭")
有些事情,没经历过不知道原理,没失败过不明白奥妙,没痛苦过不了解真谛。临渊羡鱼,不如退而结网!

浙公网安备 33010602011771号