SQL Server 2012 Подключение к MS Access 2003

Вопрос или проблема

SQL Server 2012 – Access 32-бит 2003 – Я могу импортировать базу данных, но не понимаю, почему не могу её связать. Возможно, в SQL 2012 изменили строку подключения или что-то в этом роде.

Я только что установил SQL Server 2012, чтобы протестировать различия и убедиться, что он подходит для моей работы. Я, возможно, не являюсь профессионалом в SQL, но не понимаю, как добавить ссылку на базу данных Jet на своем сервере. Я импортировал базы данных Jet, но, проходя через графический интерфейс пользователя, чтобы связать базу данных JET, я не вижу провайдера для JET. Я использую Access 2003 (мне не нравится графический интерфейс 2008 и выше).

Я искал и не нашел ничего похожего на мою проблему; по крайней мере, ничего, что я бы понял. Нигде не упоминается, как добавить провайдер базы данных Jet.

Я запустил строку подключения к базе данных Jet через QA:

sp_addlinkedserver 'USGEScrub', 'Access', 'Microsoft.Jet.OLEDB.4.0',  
'D:\Lead$\SupList\USGEScrub.mdb' 

Строка подключения работает, пока я не пытаюсь получить доступ к данным, и затем я получаю эту ошибку, и, конечно, если я нажимаю ссылки, ничего не отображается:

TITLE: Microsoft SQL Server Management Studio

Не удалось получить данные для этого запроса. (Microsoft.SqlServer.Management.Sdk.Sfc)

Для помощи, нажмите: http://go.microsoft.com/fwlinkProdName=Microsoft%20SQL%20Server&LinkId=20476

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ:

Произошло исключение при выполнении Transact-SQL или пакета инструкций.
Невозможно создать экземпляр OLE DB провайдера “Microsoft.Jet.OLEDB.4.0” для связанного
сервера “USGEScrub”. (Microsoft SQL Server, ошибка: 7302)

Для помощи, нажмите: http://go.microsoft.com/fwlinkProdName=Microsoft%20SQL%20Server&ProdVer=11.00.2100&EvtSrc=MSSQLServer&EvtID=7302&LinkId=20476

выглядит как проблема с драйверами.
Вот мнение Microsoft по этому вопросу: http://support.microsoft.com/kb/2555855

Ответ или решение

Для того чтобы установить соединение между SQL Server 2012 и Microsoft Access 2003, требуется внимательное изучение изменений в конфигурации и использования необходимых драйверов. Ваши усилия по импорту базы данных уже подсказывают, что вы знакомы с основными механизмами, однако вопрос именно в интеграции остаётся открытым. Давайте рассмотрим ситуацию подробнее.

Анализ проблемы

Вы используете SQL Server 2012 и базу данных Access 2003. Основная проблема заключается в невозможности установить связанный сервер для Access, так как необходимый провайдер OLE DB "Microsoft.Jet.OLEDB.4.0", похоже, вызывает ошибки.

Возможные причины ошибки

  1. Неподдерживаемый драйвер: SQL Server 2012 может иметь трудности с поддержкой 32-битного драйвера Jet. Это случается из-за различий в архитектуре (32-бит против 64-бит).

  2. Недостаток компонентов OLE DB: Проверьте наличие всех необходимых компонентов OLE DB на вашем сервере.

  3. Проблемы с безопасностью и разрешениями: Убедитесь, что у SQL Server есть все права на доступ к местонахождению файла Access.

Решения

Установите правильные драйверы

  1. Microsoft Access Database Engine: Установите последнюю версию Microsoft Access Database Engine, чтобы обеспечить совместимость с 32-битными и 64-битными приложениями.

  2. Откройте SQL Server Management Studio с административными правами, так как некоторые проблемы могут возникать из-за недостатка прав.

Настройка связанного сервера

  1. Обновите ваш SQL Server с помощью обновлений, которые могли бы улучшить совместимость с Access 2003.

  2. Попробуйте использовать следующий пример команды, чтобы добавить провайдера OLE DB для Access:

    EXEC sp_addlinkedserver 
       @server = 'USGEScrub', 
       @provider = 'Microsoft.ACE.OLEDB.12.0', 
       @datasrc = 'D:\Lead$\SupList\USGEScrub.mdb';

Управление разрешениями

Позаботьтесь о том, чтобы у учетной записи, от имени которой работает SQL Server, были все права на доступ к указанным папкам и файлам.

Заключение

Устранение сложностей в интеграции SQL Server и MS Access требует внимательности к деталям, начиная от конфигурации драйверов и заканчивая вопросами безопасности. Надеюсь, предложенные решения помогут вам в решении данной задачи. Если проблема сохраняется, рассмотрите возможность миграции к более современным версиям Access или SQL Server, которые обладают улучшенной поддержкой интеграции.

Оцените материал
Добавить комментарий

Капча загружается...