用python连接两个oracle数据库,并将其中一个数据库中一个表格数据整理到另一个数据库中的一个表里
时间: 2024-04-23 20:27:49 浏览: 102
要使用Python连接两个Oracle数据库并将一个数据库中的表数据整理到另一个数据库中的表中,您可以使用`cx_Oracle`模块来实现。以下是一个示例代码:
```python
import cx_Oracle
# 连接第一个数据库
dsn1 = cx_Oracle.makedsn('host1', port1, service_name='service1')
conn1 = cx_Oracle.connect(user='user1', password='password1', dsn=dsn1)
cursor1 = conn1.cursor()
# 连接第二个数据库
dsn2 = cx_Oracle.makedsn('host2', port2, service_name='service2')
conn2 = cx_Oracle.connect(user='user2', password='password2', dsn=dsn2)
cursor2 = conn2.cursor()
# 从第一个数据库中查询数据
query = 'SELECT * FROM table1'
cursor1.execute(query)
data = cursor1.fetchall()
# 将查询结果插入到第二个数据库的表中
for row in data:
insert_query = 'INSERT INTO table2 VALUES (:1, :2, :3)' # 根据实际情况修改表名和字段
cursor2.execute(insert_query, row)
# 提交事务并关闭连接
conn2.commit()
cursor2.close()
conn2.close()
cursor1.close()
conn1.close()
```
请根据实际情况修改示例代码中的主机名、端口号、服务名、用户名、密码、表名和字段名。这段代码首先连接到第一个数据库并执行查询,然后将查询结果逐行插入到第二个数据库的表中。最后提交事务并关闭连接。请确保您已经安装了`cx_Oracle`模块,并且您具有正确的数据库连接信息和权限。
阅读全文