Как исправить «SQL Server не существует или доступ запрещен» при подключении консольного приложения Visual Studio C ++ к Microsoft SQL Server - PullRequest
1 голос
/ 04 ноября 2019

Я пытаюсь подключить базу данных Microsoft SQL Server в консольном приложении в Visual Studio 2019.

Я получаю сообщение об ошибке: SQL Server не существует или доступ запрещен.

Я подозревал, что у меня может быть неправильная строка подключения, поэтому я использовал функцию SQLDriverConnect с SQL_DRIVER_COMPLETE_REQUIRED, чтобы запросить окно, чтобы я мог вручную выбрать сервер, к которому я хочу подключиться.

SQLDriverConnect(SQLConnHandle, desktopHandle, (SQLCHAR*)"", SQL_NTS, OutConString, 1024, NULL, SQL_DRIVER_COMPLETE_REQUIRED)

Примечание: OutConnectionString - 5-й параметрInConnectionString - это 3-й параметр

. Благодаря этому я смог напечатать строку подключения, возвращенную OutConnectionString, а также получить доступ к базе данных и распечатать ее содержимое.

Но когда я попыталсяскопируйте OutConnectionString в InConnectionString, он все еще возвращается к той же ошибке.

SQLDriverConnect(SQLConnHandle, NULL, (SQLCHAR*)"DSN=JoelDB;UID=myID;PWD=myPW;WSID=JE-ACCOUNTS;DATABASE=myDB;Network=DBMSSOCN;Address=JE-ACCOUNTS\SQLEXPRESS,1433", SQL_NTS, OutConString, 1024, NULL, SQL_DRIVER_NOPROMPT)

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

https://www.sqlserverlogexplorer.com/database-does-not-exist-access-denied/

Я знаю, что соединение exiТак как я смог сделать это с помощью параметра SQL_DRIVER_COMPLETE_REQUIRED, и я также могу вручную загрузить базу данных в Visual Studio через Инструменты> Подключиться к базе данных.

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

1 Ответ

0 голосов
/ 04 ноября 2019

Я решил это, просто удалив адрес и сеть в строке подключения.

SQLDriverConnect(SQLConnHandle, NULL, (SQLCHAR*)"DSN=JoelDB;UID=myID;PWD=myPW;WSID=JE-ACCOUNTS;DATABASE=myDB;", SQL_NTS, OutConString, 1024, NULL, SQL_DRIVER_NOPROMPT)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...