首页 > 解决方案 > 如何从 AWS-Aurora postgresql 读取数据作为 python pandas DataFrame 并将其写入 Oracle 表?

问题描述

我需要读取 AWS-Aurora 表并将内容写入 Oracle 表。我的代码是-

import pandas as pd
import psycopg2
from sqlalchemy import types, create_engine
import cx_Oracle
import sys

**# Connect to Aurora**
host = sys.argv[1]
username = sys.argv[2]
password = sys.argv[3]
database = sys.argv[4]

db_conn = psycopg2.connect(host=host, database=database, user=username, password=password)
sql = "SELECT * FROM Table_Name;"
data_df = pd.io.sql.read_sql(sql, db_conn)
print(data_df.head(2))
db_conn.close()

# Connect to Oracle and write data_df  dataframe
dsn = cx_Oracle.makedsn('10.z.y.xx', '1521', service_name='abcd')
u_name = sys.argv[5]
pwd = sys.argv[6]

conn = cx_Oracle.connect(user=u_name, password=pwd, dsn=dsn)
ora_engine = create_engine(f'oracle+cx_oracle://{u_name}:{pwd}@{dsn}', echo=True)
ora_engine.connect()
data_df.to_sql(name='oracle_table_name', con=conn)
conn.close()

连接到 Aurora 工作正常,但我无法在 Oracle 中创建引擎并编写数据帧!

标签: pythonpython-3.xoracleamazon-aurora

解决方案


代码是正确的,由于配置了大量数据和低 RAM,它失败了。

谢谢。


推荐阅读