从本地插入数百万条记录到godaddy托管

时间:2015-10-28 12:55:07

标签: java php mysql ms-access laravel-5

我试图从访问数据库向GoDaddy中的mysql数据库插入大约800万条记录。

我构建了一个桌面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

2 个答案:

答案 0 :(得分:2)

确保已安装MySQL odbc连接器: https://dev.mysql.com/downloads/connector/odbc/

为你的MySQL服务器创建你的DNS(你可以通过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将显示表格&amp;要导入的视图。单击要从Access dtabase上载数据的表。
  6. 现在您已在MS Access数据库中链接了实际的MySQL表。
  7. 您只需通过以下方式将数据从本地表上传到链接表:

    您可以使用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.
    

答案 1 :(得分:1)

尝试在GoDaddy服务器上运行的交错MySQL导入程序。像Bigdump一样:http://www.ozerov.de/bigdump/

Export from Access,导入MySQL。它直接在godaddy服务器上运行,因此数据已经在服务器上,然后才读取。我在GoDaddy上多次使用过大量进口货物。

干杯!