ADODB连接中的COM错误

时间:2015-05-14 08:47:29

标签: vb.net com oledb

在我的控制台应用程序中,我有这个简单的数据库连接代码。但它在ADODB.Connection行中显示COM异常错误。

  Module Module1    
        Sub Main()
            Dim cn As New ADODB.Connection() //error 
            cn.ConnectionString = "provider=sqloledb;server=localhost;database=northwind;uid=<username>"
            cn.Open()
        End Sub    
    End Module

我在参考中添加了Microsoft Activex Data objects 2.8库,但出现了错误。 我将库更改为Microsoft Activex Data Objects 6.0库,但它仍然显示错误。 当我首先运行应用程序时,它显示一个错误 -

The procedure entry point _LoadVersionedResourceEx@16 could not be located in MSDART.dll.

然后

COM Exception unhandled:
Retrieving the COM class factory for component with CLSID {00000514-0000-0010-8000-00AA006D2EA4} failed due to the following error: 8007007f The specified procedure could not be found. (Exception from HRESULT: 0x8007007F).

我正在使用Windows 7,Visual Studio 2010,vb.net

1 个答案:

答案 0 :(得分:0)

您的Msdart.dll

中可能有一个过时的%windir%\System32文件

将其替换为Msdart.dll (v2.71.9031.4)文件夹中的正确%windir%\System32\Dllcache文件。

另一种解决方法是在Microsoft Data Access Components

中加入Project > Add reference > COM tab