MSDataShape в Windows Vista - PullRequest
       13

MSDataShape в Windows Vista

2 голосов
/ 26 февраля 2009

У меня есть соединение с базой данных доступа, которая реализует MSDataShape, которая отлично работает в Windows XP, теперь, когда я пытаюсь запустить его в Windows Vista, это выдает ошибку.

Ошибка на Vista:

Ошибка # -2147467259 [Microsoft] [Диспетчер драйверов ODBC] Не найдено имя источника данных и не указан драйвер по умолчанию

Тот же код отлично работает в чистой установке XP.

В чем большой секрет?

Ответы [ 2 ]

1 голос
/ 27 февраля 2009

Несколько вещей для проверки:

  • вы используете ODBC, вы уверены, что тот же самый источник данных ODBC, который вы используете на компьютере с XP, был создан?

  • Если вы работаете в 64-битной ОС, вам нужно создать 32-битный источник данных ODBC , 64-битные источники данных ODBC невидимы для Access, который представляет собой 32-битное приложение. 1011 *

  • Убедитесь, что у вас установлены правильные драйверы базы данных Jet. Если вы используете Access 2007, это будет компонент компонента Database Engine .

1 голос
/ 27 февраля 2009

Я протестировал это на 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

...