2009-02-26 32 views
2

我有一個訪問數據庫的連接,該數據庫實現了在Windows XP上完美工作的MSDataShape,現在當我嘗試在Windows Vista上運行它時,我發現一個錯誤。Windows Vista上的MSDataShape

在Vista上的錯誤:

錯誤#-2147467259 [微軟] [ODBC驅動程序管理器]數據源名稱找不到和未指定默認驅動程序

相同的代碼工作完美地一個乾淨的XP安裝。

什麼是大祕密?

+0

+1將我介紹給MSDatashape。我甚至不知道它以前存在。 – 2009-02-27 05:40:34

+0

非2的答案解決了我的問題...我仍然無法做一個形狀的記錄集在Windows Vista Ultimate乾淨安裝。 似乎MSDataShape沒有這個操作系統的經驗。 順便問一下,我用Remou的方法。 – diego2k 2009-03-02 12:21:46

回答

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

一些事情要檢查:

  • 你正在使用ODBC,你確定你在使用完全相同的ODBC數據源XP機器創建?

  • 如果您使用的是64位操作系統,則需要創建一個32 bit ODBC數據源,64位ODBC數據源對Access不可見,這是一個32位應用程序。

  • 確保您安裝了正確的Jet數據庫驅動程序。如果您使用Access 2007,這些將是Access Database Engine component