Я пытаюсь вставить около 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.
Все, что вам нужно сделать, это загрузить данные из вашей локальной таблицы в связанную таблицу, просто:
вы можете добавить свою загрузку с помощью ключевого слова 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 для большого импорта.
Ура!