我有一个包含11,000,000条记录的Access数据库。我想使用Upsize工具将此记录传输到Sqlserver 2008中的同一个表。此工具正确创建数据库和表,但SQL Server中的表为空,并且不传输数据。
答案 0 :(得分:3)
由于您未提及收到错误消息,请检查新SQL Server表中的字段类型以确认它们与其Access对应项兼容。
如果看起来没问题,请启动Access并创建指向SQL Server表的ODBC链接。然后创建一个Access“追加查询”,将Access表中的数据添加到SQL Server表中。
INSERT INTO remote_table (field1, field2, field3)
SELECT field1, field2, field3
FROM local_table
WHERE date_field >= #2012-01-01# AND date_field < #2012-02-01#;
注意我想象了一个WHERE
子句,它将行数限制为1100万行中相当小的子集。根据您的情况调整。
如果INSERT
成功,请使用不同的WHERE
条件重复此操作,以将数据块附加到SQL Server,直到全部转移完毕。
如果失败了,希望你会得到一条错误信息,解释原因。
答案 1 :(得分:1)
正如在大多数情况下所指出的那样,这是一个糟糕的日期,或者仅仅是SQL服务器之外的日期,它会导致失败。我建议您使用Access迁移工具而不是内置工具。它做得更好。
您可以在此处找到此实用程序:
http://www.microsoft.com/en-us/download/details.aspx?id=28763
上述内容倾向于处理阻止数据上传的日期和其他问题,远远优于内置的升迁工具