首页 > 解决方案 > 如何使用 python 将 postgresql 表迁移/复制到 oracle?

问题描述

我正在使用 DataFrame 从每个 postgres 表中读取数据,并使用 to_sql() 方法将数据插入到 oracle 中。我面临的问题是它在将一些记录复制到 oracle 后卡住了。Jupyter Notebook 很忙,但什么也没做。

def duplicateData(conn, conn2, session):
    
    query1 = "SELECT table_name FROM information_schema.tables WHERE table_schema = 'public'"

    all_tables = session.execute(query1)
    
    count = 0

    for index,tables in enumerate(all_tables):
        
        count += 1
        
        # getting rid of comma and parathesis
        for i, table in enumerate(tables):

            print("\n"+table+" - NO: "+str(count)+"\n")
            
            query2 = "SELECT column_name FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '" + table + "'"

            columns = session.execute(query2)
            cols = []

            for col in columns:
                cols.append(col[0])

            query3 = "SELECT * FROM " + table

            df = pd.read_sql(query3, conn)

            alias = (table[:30] + '') if len(table) > 30 else table

            df.to_sql(alias, conn2, index=False, schema="PMS")

            print("\nDONE\n")

标签: python-3.xoraclepostgresql

解决方案


推荐阅读