1

我正在寻找正确的方法,在 SQL Server 的 T-SQL(我认为就是这样)代码或使用另一种语言中,将数据从 Microsoft Access MDB 数据库导入新的 SQL Server 数据库。

现在,通常我只是将其导入。问题是我正在编写一个 .SQL 脚本(如果需要,我可以使用其他技术)来完成所有这些腿部工作,因为这需要相当定期地完成。可能每周至少一次,一年中持续约 5 个月。

离题一点,我想实现一个单一的数据库,并使用类似DatabaseID字段的东西来区分单独的源数据库,但是在那里的权力推翻了我。

我以前使用 SQL Server Management Studio 2012 和 SQL Server 2008,运行 T-SQL(在生产机器上),效果很好。我现在已经使用 SQL Server 2012(用于开发)迁移到本地 SQL Server Management Studio 2012,并且以前可以工作的代码不再可用。

这段代码曾经有效:SELECT * INTO [dbo].[Controls] FROM OpenDataSource('Microsoft.Jet.OLEDB.4.0', 'Data Source=C:\Show.mdb; Jet OLEDB:Database Password=BobSaget')...[Control]密码已被混淆以确保安全......

这可能是一个草率的解决方案。理想的方式是什么?

提前致谢!

4

2 回答 2

0

我建议使用 Microsoft 的 SQL Server Migration Assistant for Access。

SQL Server 迁移助手 (SSMA) 是 Microsoft 提供的免费支持工具,可简化从 Access 到 SQL Server 的数据库迁移过程。SSMA for Access 自动将 Microsoft Access 数据库对象转换为 SQL Server 数据库对象,将对象加载到 SQL Server,然后将数据从 Microsoft Access 迁移到 SQL Server。

SSMA for Access v5.2 旨在支持从 Microsoft Access 97 及更高版本迁移到 SQL Server 2005、SQL Server 2008、SQL Server 2008 R2、SQL Server 2012 和 SQL Azure 的所有版本。

你可以在这里找到它。

您可能需要在迁移后修复结构,因为它往往会过度夸大许多数据类型。

于 2012-12-11T18:47:34.547 回答
0

您是否在 MSDANITIALIZE 上检查过您的 DCOM 安全性?

移动到 SSMS 2012 的本地实例时,我遇到了这个问题。

http://blogs.msdn.com/b/dataaccesstechnologies/archive/2011/09/28/troubleshooting-cannot-create-an-instance-of-ole-db-provider.aspx

于 2012-12-11T19:10:59.600 回答