Копирование таблицы из одной базы данных в другую - PullRequest
0 голосов
/ 27 сентября 2019

Я пытаюсь скопировать таблицу с сервера S3 на сервер Redhat, используя python, но он не работает.Любые идеи?

В качестве начального ограничения я не могу создавать временные таблицы на исходном сервере, я могу только скопировать на свой компьютер и загрузить оттуда.

Для начала я попытался создатьпустой фрейм данных с пандами, добавляя чанки, чтобы избежать подобных проблем с памятью, но я получаю ошибки, включая (OperationalError: ('08S01', '[08S01] Ошибка канала связи (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)

Я не совсем уверен, что это лучший подход, поэтому я действительно открыт для рекомендаций.

1 Ответ

0 голосов
/ 27 сентября 2019

Я сделал базу данных миграции Oracle со многими таблицами, но потерял этот код: - (

Я в основном создаю эти шаги:

  • Подключите исходную базу данных;
  • Создайте список всех таблиц, которые вы хотите перенести.
  • Для какой таблицы вам нужно прочитать tab_column_name, чтобы извлечь таблицу последовательности имен столбцов.
  • Сохранить дату в словаре
  • Соедините целевую базу данных (с созданной таблицей) и введите ту же строку, что и извлеченную вами;

  • Я рекомендую извлечь сценарий из всехтаблицы и создать в целевом сначала

  • , чтобы проверить перед извлечением, сохранить таблицу подсчета строк, чтобы соответствовать после вставки (сделать подсчет строк в месте назначения)

Мои таблицы имеют многоdate и python дали мне хорошую производительность.

Надеюсь, это поможет

...