首页 > 解决方案 > 将表从一个数据库复制到另一个

问题描述

我正在尝试使用 python 将表从 S3 服务器复制到 Redhat 服务器,但它不起作用。有任何想法吗?

作为初始限制,我不能在源服务器中创建临时表,我只能复制到我的计算机上并从那里上传。

首先,我尝试使用 pandas 创建一个空数据帧,附加块以避免这样的内存问题,但我收到错误,包括 (OperationalError: ('08S01', '[08S01] Communication link failure (14) (SQLFetch )')):

connection1 = pyodbc.connect(XXXX)
query1 = 'SELECT * FROM table'
dfl = []  


for i in pd.read_sql(query1, con=connection1 ,chunksize=1000):
dfl.append(chunk)


downloaded_data = pd.concat(dfl, ignore_index=True)

我不确定这是否是最好的方法,所以我非常愿意接受建议。

标签: pythonsqlpandasamazon-s3redhat

解决方案


我做了一个包含许多表的 Oracle 迁移数据库,但丢失了这段代码:-(

我基本上创建了这些步骤:

  • 连接源数据库;
  • 创建要迁移的所有表的列表。
  • 对于哪个表,需要读取一个tab_column_name来提取列名序列表。
  • 将日期保存在字典中
  • 连接目标数据库(创建表)并输入与提取相同的字符串;

  • 我建议您从所有表中提取脚本并首先在目标中创建

  • 要在提取之前进行验证,请在插入后保存一个行计数表以匹配(在目的地进行行计数)

我的表格有很多日期,python 给了我很好的表现。

我希望这有帮助


推荐阅读