Мы пытаемся получить доступ к файлам базы данных Foxpro на основе файлов через функцию связанного сервера MSSQL Server, используя драйвер Foxpro ODBC.
Для этого у нас
Но последний шаг никогда не завершается (выполнение отображается вечно). Когда Management Studio принудительно закрывается и перезапускается, новый связанный сервер присутствует, но содержит только подпункт «Каталоги». Если мы попытаемся расширить его, Management Studio снова войдет в цикл.
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, и сейчас все стало лучше.)