0

过去一周左右,我一直在尝试以编程方式将数据从 Microsoft Access .mdb 文件导入 SQL Server 2008 表。除了错误,我什么也没得到,解决一个问题只会揭示另一个问题。我将文件放入链接服务器,现在当我尝试使用以下命令查询它时:

Select * from OPENQUERY(Importdata, 'Select * from [IMBPieceBC]')

我得到错误:

OLE DB provider "Microsoft.Jet.OLEDB.4.0" for linked server "Importdata" returned message "Cannot open database ''.  It may not be a database that your application recognizes, or the file may be corrupt.".
Msg 7303, Level 16, State 1, Line 1
Cannot initialize the data source object of OLE DB provider "Microsoft.Jet.OLEDB.4.0" for linked server "Importdata".

我已经阅读了一些在注册表中重新链接 dll 的建议,但我已经这样做了,但我仍然收到错误消息。我还能做些什么来修复它,或者至少找出问题所在?

将数据迁移到 SQL Server 实例不是一种选择。mdb 文件是由第三方程序生成的,因此我们无能为力。

4

1 回答 1

0

我的工作场所也有类似的情况——第三方应用程序在 MDB 中维护数据,但其他应用程序需要访问它。我是如何做到的,这个“中间”应用程序具有指向 SQL Server 表和 MDB 表的链接。您可以使用查询或 VBA 编写的表单事件,使用 INSERT INTO 查询将涉及的 MDB 表中的信息传输到相应的 SQL Server 表中,并配备 SELECT FROM 子查询来提供插入的值。

于 2012-08-08T18:44:47.437 回答