访问Upsize到Sqlserver不传输数据

时间:2012-12-06 19:48:56

标签: database sql-server-2008 ms-access data-transfer

我有一个包含11,000,000条记录的Access数据库。我想使用Upsize工具将此记录传输到Sqlserver 2008中的同一个表。此工具正确创建数据库和表,但SQL Server中的表为空,并且不传输数据。

2 个答案:

答案 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

上述内容倾向于处理阻止数据上传的日期和其他问题,远远优于内置的升迁工具