Назад | Перейти на главную страницу

Как успешно подключиться к файлам базы данных Foxpro с помощью функции связанного сервера MSSQL и ODBC?

Мы пытаемся получить доступ к файлам базы данных Foxpro на основе файлов через функцию связанного сервера MSSQL Server, используя драйвер Foxpro ODBC.

Для этого у нас

Но последний шаг никогда не завершается (выполнение отображается вечно). Когда Management Studio принудительно закрывается и перезапускается, новый связанный сервер присутствует, но содержит только подпункт «Каталоги». Если мы попытаемся расширить его, Management Studio снова войдет в цикл.

  • Загрузите и установите Microsoft OLE DB Provider для Visual FoxPro
  • Убедитесь, что он отображается в MSSQL Management Studio в разделе «Системные объекты»> «Связанные серверы»> «Провайдеры» как «VFPOLEDB». Мне пришлось установить его, удалить и переустановить, пока я не доберусь до него (и нет, перезагрузка Windows не сработала).
  • Откройте системные объекты, щелкните правой кнопкой мыши Связанные серверы и выберите добавление нового связанного сервера.
  • Заполните форму следующим образом:
    • Нет необходимости добавлять какие-либо DSN в апплет ODBC
    • Нажмите OK и посмотрите, сможете ли вы теперь детализировать новый связанный сервер, пока не увидите таблицы.
    • Щелкните правой кнопкой мыши какую-либо таблицу и запишите запрос SELECT в новое окно запроса. Это дает вам пример того, как запросить этот новый связанный сервер:
      SELECT * FROM [myLinkedServer]...[myTable]

Первое, что нужно сделать, это убедиться, что вы используете 32-битные драйверы, если у вас 32-битный SQL Server, и 64-битные драйверы, если вы используете 64-битный SQL Server. 64-битные серверы SQL не могут использовать 32-битные драйверы ODBC (или OLEDB, или что-то еще).

У меня были старые драйверы ODBC от Microsoft для отключения экземпляров серверов, поэтому я их избегаю.

В последних версиях SQL Server, 2005+, я добился наибольшего успеха с драйверами «ACE». Эти драйверы заменяют старые драйверы «JET» и были введены в Office 2007. Они основаны на OLEDB, но вы не обязательно заметите. Релиз для Office 2010, доступный в 32-битной и 64-битной версиях. В распространяемые драйверы ACE доступны для загрузки на сайте Microsoft.

С новыми драйверами вам не нужно создавать системный DSN, как со старыми драйверами ODBC. Вы можете просто создать связанный сервер и начать. В Интернете должно быть множество примеров того, как создавать связанные серверы с использованием драйверов ACE (как с TSQL, так и с графическим интерфейсом SSMS).

Вы должны быть уверены, что поставщик, представляющий ваши драйверы (посмотрите в папке «Связанные серверы» для папки «Поставщики»), установлен на «Разрешить в процессе» и.

Вы также можете обнаружить, что доступ к файлам в сети сложнее, чем доступ к тому же файлу на локальном диске. Обычно это проблема с делегированием и безопасностью. В зависимости от вашей инфраструктуры это может быть проблемой.

(Если вам интересно, я сделал несколько записей в блоге «Устаревшие возможности подключения в 64-битном мире» около трех или четырех лет назад, в которых освещались проблемы с dbase / foxpro, 32/64 бит, а также db / 2 и другие вещи. вероятно, больше, чем вы бы хотели прочитать. Это было еще до того, как были выпущены 64-битные драйверы ACE, и сейчас все стало лучше.)