2

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

4

2 回答 2

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,直到将其全部传输。

如果它失败了,希望你会收到一条错误消息来解释原因。

于 2012-12-06T20:17:13.837 回答
1

正如这里所指出的,在大多数情况下,这是一个错误的日期,或者只是一个超出 SQL Server 的日期,从而导致失败。我建议您使用 Access 迁移工具,而不是内置工具。它做得更好。

您可以在此处找到此实用程序:

http://www.microsoft.com/en-us/download/details.aspx?id=28763

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

于 2012-12-08T18:57:35.827 回答