当我在Windows8.1 64位计算机上执行以下代码时,我收到了错误-2147221164 Class Not Registered:
Dim conn as ADODB.Connection
Set conn = New ADODB.Connection
conn.Open dbConnectionString
Dim rsHere as ADODB.Recordset
Set rsHere = New ADODB.Recordset
' Error happens at this line
rsHere.Open strSql, conn, adOpenDynamic, adLockOptimistic代码是在Windows XP计算机上编译的,因此我认为这与这里概述的问题不同:
我在注册表中找到的ADODB版本是6.0,而我使用的ADODB版本是2.8。我浏览了一下网络,在某个地方读到了在Windows 8上对ADODB所做的重大更改,但我不确定这是否是导致我的问题的原因。
有人知道我可以检查什么来消除这个错误吗?
发布于 2014-08-26 00:45:52
在从XP计算机为不同版本的Windows进行编译时,我遇到了类似的问题。这可能会澄清一些事情。
从页面(引用Microsoft KB文章):
“在ADO2.7和更高版本中,一些ADO依赖于平台”
您还可以在“原因”部分找到更多详细信息( 这里 )。
作为解决办法,您可以尝试使用延迟绑定的ADO调用。在我的例子中,在Windows7 SP1机器上编译完成了这个任务。
https://stackoverflow.com/questions/25434782
复制相似问题