Ошибка подключения MS SQL Server 2005 View с запросом MS Access 2003 - PullRequest
1 голос
/ 31 октября 2011

Проблема: не удалось найти устанавливаемый ISAM

Я выполняю запрос из MS Access, чтобы получить информацию из MS SQL Server 2005. Когда я пытаюсь открыть связанное соединение ODBCпрямо к столу открывается без проблем.Однако, когда я пытаюсь создать соединение без DSN, я получаю ошибку ISAM.

У меня возникает следующая ошибка при попытке выполнить мой запрос SELECT:

«Не удалось найти устанавливаемый ISAM.»

Я использую следующий код:

SELECT * FROM [Driver={SQL Server};
   Server=Server_Name\Instance;
   Database=Database_Name;
   Integrated Security=SSPI;].[My_View_Name]

Справка из MS Access предоставляет следующую информацию:

Не удалось найти устанавливаемый ISAM.(Ошибка 3170) Не удалось найти DLL-файл для устанавливаемого файла ISAM.Этот файл необходим для связывания внешних таблиц (кроме таблиц базы данных ODBC или Microsoft Jet).Расположение всех драйверов ISAM хранится в реестре Microsoft® Windows®.Эти записи создаются автоматически при установке приложения.Если вы измените расположение этих драйверов, вам необходимо исправить программу установки приложения, чтобы отразить это изменение, и внести правильные записи в реестр.

Возможные причины:

+ Запись в реестре недействительна.Например, эта ошибка возникает, если вы используете внешнюю базу данных Paradox, и запись Paradox указывает на несуществующий каталог или драйвер.Выйдите из приложения, исправьте реестр Windows и попробуйте снова выполнить операцию.

+ Одна из записей в реестре указывает на сетевой диск, и эта сеть не подключена.Убедитесь, что сеть доступна, а затем повторите операцию.

Я также нашел статьи КБ от Microsoft, объясняющие, когда и как это следует делать.Однако мне неясно, имеют ли они корни в другом типе проблемы.

Например:

283881 и 209805 Скажите мнеЦель ISAM - рассказать, как форматировать данные, отличные от «родного» форматирования MS Access.(Но я не хочу форматировать его по-другому, и другие форматы не перечисляют то, что я считаю подходящим форматом-er)

и 90111 Сообщает нам драйверв файле .ini может указывать на неправильное место в MS Access 2.0, которого больше нет в версии 97 +.

Странно то, что у меня есть настройка DNS для другой таблицы, которая работает нормально.Единственное отличие, которое я вижу здесь, заключается в том, что именование объекта базы данных по умолчанию не является стандартным, поэтому, возможно, я неправильно обращаюсь к схеме в моем синтаксисе.

  • Что я здесь не так делаю?Это действительно синтаксическая ошибка? *
  • Существуют ли какие-либо соображения относительно разрешения "Просмотр", которые необходимо учитывать на стороне сервера?

1 Ответ

2 голосов
/ 31 октября 2011

Попробуйте добавить ODBC; в начале строки подключения и уберите скобки вокруг имени представления:

SELECT * FROM [ODBC;Driver={SQL Server};
Server=Server_Name\Instance;
Database=Database_Name;
Integrated Security=SSPI;].My_View_Name
...