2009-02-26 4 views
2

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

Ошибка на Vista:

Error # -2147467259 [Microsoft] [ODBC Driver Manager] Источник данных не найден и драйвер по умолчанию не указано

тот же код прекрасно работает чистая установка xp.

В чем секрет?

+0

+1 для представления меня в MSDatashape. Я даже не знал, что это существовало раньше. –

+0

не из 2 ответ решить мою проблему ... я до сих пор не могу сделать Shaped recordset в Windows Vista Ultimate чистой установки. Кажется, что MSDataShape не поддерживает Longuer этой ОС. Кстати, я попробовал метод Рему. – diego2k

ответ

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 невидимы для доступа, который является 32-разрядным приложением.

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

+0

Что касается последнего, это необходимо только в том случае, если ваш файл «Access» является ACCDB, а не MDB. MDB, созданный в A2K7, будет полностью доступен через драйвер Jet 4 ODBC. –

Смежные вопросы