Вставка миллионов записей с локального ходжади

Я пытаюсь вставить около 8 миллионов записей из базы данных доступа в базу данных mysql в GoDaddy.

Я создал приложение java для рабочего стола, чтобы управлять вставками, разбивая 5000 записей каждый раз. Я использую Laravel 5.1 для управления вставками на сервере. Итак, в основном, приложение java отправляет запрос на маршрут laravel php, а затем позаботится о вставке непосредственно в мою базу данных MySQL.

Изменить: люди будут вставлять данные непосредственно в Access, поэтому мне нужно посмотреть файл MDB для изменений. Вот почему я не могу просто экспортировать из Access и импортировать в MySQL.

Первая часть записей вставляется успешно, но когда я отправляю другой запрос, я получаю эту ошибку:

2015-10-28 10:43:57.844 java[3475:280209] Communications error: <OS_xpc_error: <error: 0x7fff7298bb90> { count = 1, contents = "XPCErrorDescription" => <string: 0x7fff7298bf40> { length = 22, contents = "Connection interrupted" } }> Got xpc error message: Connection interrupted org.apache.http.NoHttpResponseException: api.mydomain.com:80 failed to respond 

Убедитесь, что установлен соединитель MySQL odbc: https://dev.mysql.com/downloads/connector/odbc/

создайте свой DNS на свой сервер MySQL (вы можете сделать это через менеджер odbc или просто с помощью блокнота) ваш DNS-файл будет выглядеть так:

 [ODBC] DRIVER=MySQL ODBC 5.3 Unicode Driver ' check what driver is installed UID=username to the server PORT=3306 PWD= password to the server DATABASE=dbname SERVER=serverip/name 

Сохраните файл DNS где-нибудь, позвоните ему GoDaddy_MySQL.dns

Откройте базу данных ACCESS.

  1. Внешние данные
  2. ODBC
  3. Выберите ссылку на источник данных, создав "
  4. выберите файл godaddy_mysql.dns
  5. если все ваши данные подключения верны, Access покажет вам таблицы и представления для импорта. Щелкните таблицы, в которые вы хотите загрузить данные из вашей базы данных Access dtabase.
  6. Теперь вы связали фактическую таблицу MySQL в базе данных MS Access.

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

вы можете добавить свою загрузку с помощью ключевого слова TOP. если вы добавите условие where (еще не на связанную таблицу), вы всегда можете автоматически загружать новые записи на свой сервер MySQL.

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

 Pseudo: insert into linked_table select top 5000 from your local table where local_records_are not in linked table. 

Попробуйте помещенный импортер MySQL, который запускается на сервере GoDaddy. Как Bigdump: http://www.ozerov.de/bigdump/

Экспорт из Access , импорт в MySQL. Он запускается непосредственно на сервере godaddy, поэтому данные уже находятся на сервере, а затем просто читаются. Я использовал это много раз на GoDaddy для большого импорта.

Ура!