我与一个实现MSDataShape的访问数据库建立了连接,该数据库在Windows XP上完美运行,现在当我尝试在Windows Vista上运行它时,我发现错误。
vista上的错误:
错误#-2147467259 [Microsoft] [ODBC驱动程序管理器]未找到数据源名称且未指定默认驱动程序
相同的代码在干净的xp安装中完美运行。
什么是大秘密?
答案 0 :(得分:1)
我在Vista和Access 2000上测试了它,它对我有用。我有最新的Jet版本,应该安装Vista。
Private Sub Form_Open(Cancel As Integer)
Set cn = New ADODB.Connection
With cn
.Provider = "MSDataShape"
.CursorLocation = adUseClient
.ConnectionString = "DATA PROVIDER=Microsoft.Jet.OLEDB.4.0;" _
& "DATA SOURCE=c:\docs\ltd.mdb"
.Open
End With
Set rs = New ADODB.Recordset
With rs
.Source = "SELECT * From Table1"
.ActiveConnection = cn
.CursorType = adOpenKeyset
.LockType = adLockOptimistic
.Open
End With
Set Me.Recordset = rs
Me.UniqueTable = "Table1"
End Sub
参考文献:http://support.microsoft.com/kb/227053/EN-US/ http://support.microsoft.com/kb/239114/en-us
答案 1 :(得分:1)
要检查的一些事项:
您正在使用ODBC,是否确定在XP计算机上使用的ODBC数据源完全相同?
如果您使用的是64位操作系统,则需要创建一个32 bit ODBC数据源,64位ODBC数据源对于Access是不可见的,这是一个32位应用程序。
< / LI>确保安装了正确的Jet数据库驱动程序。如果您使用Access 2007,则这些将是Access Database Engine component。