#sql #string #connection
#sql #строка #подключение
Вопрос:
Я делал это раньше и следую своему собственному примеру, но это не работает. У меня есть простой сквозной запрос в MS Access 2013. Предполагается, что он запрашивает (пока просто запрос «ВЫБРАТЬ * из») сервер Microsoft SQL Server, используя строку подключения без DNS. Сервер настроен на смешанную аутентификацию. Я могу использовать диспетчер связанных таблиц и открывать таблицы из этого же файла MS Access. Я могу пинговать имя сервера из командной строки. На клиентском компьютере установлена Windows 7 и установлен собственный клиент Microsoft SQL Server 2012. Я подозреваю, что что-то не так с моей строкой подключения, но я этого не вижу.
В свойстве «ODBC Connect Str» моего сквозного запроса у меня есть:
ODBC;DRIVER=SQL Server;SERVER=SERVERNAME;Trusted_Connection=Yes;DATABASE=<dbname>
Когда я пытаюсь просмотреть запрос, я получаю
ODBC—сбой подключения к «SQL ServerSERVERNAME».
РЕДАКТИРОВАТЬ: Да, у меня есть таблицы, связанные с одним и тем же SQL-сервером через диспетчер связанных таблиц. У меня также есть ODBC-соединение с тем же сервером, и оно отлично тестируется (с помощью кнопки «Проверить подключение» в мастере подключения ODBC.
Да, я подозреваю, что это как-то связано со строкой подключения. Я просто не вижу проблемы и надеюсь, что у кого-то глаз наметан лучше, чем у меня, или у него есть некоторый опыт в этом, который поможет создать идею.
Сервером является Microsoft SQL Server 2017, работающий под управлением Windows Server 2016.
Я надеюсь, что мои правки могут привести к тому, что этот вопрос снова будет разблокирован.
Смотрите Мой комментарий ниже для получения советов и моего окончательного ответа, на случай, если вы тоже боретесь с этим.
Комментарии:
1. Итак, вы можете использовать Linked Table Manager и открывать таблицы на том же SQL Server просто отлично? Что, если вы создадите ODBC-соединение (не внутри Access, а буквально Windows ODBC) и введете ту же информацию, используя Windows Auth, в эту базу данных? Если соединение прошло успешно, это означает, что с вашей строкой что-то связано. Является ли этот сервер другой версией? Есть ли у вас доступ к журналу ошибок SQL Server, чтобы подтвердить, попал ли запрос вообще на сервер? Этот сайт содержит разные строки в зависимости от версии вашего целевого сервера, которую вы не указали.
2. Да, у меня есть таблицы, связанные с одним и тем же SQL-сервером через связанный диспетчер таблиц. У меня также есть ODBC-соединение с тем же сервером, и оно отлично тестируется (с помощью кнопки «Проверить подключение» в мастере подключения ODBC. Я посмотрю на сайт, на который вы ссылались. Спасибо.
3. Я внес эти два изменения: я заменил «Да» на «True» для «Trusted_Connection». Затем я добавил опцию «Интегрированный параметр = True». Теперь строка подключения работает.