Я пытаюсь запустить приложение на клиентском компьютере (Win 11 Home) и подключиться к базе данных на хост-компьютере.
Я выполнил ряд шагов, не запуская приложение, чтобы проверить соединение и. Мне потребовалось некоторое время, чтобы все настроить, но с помощью SQL Management Studio я могу подключиться с клиентского компьютера к главному компьютеру и просмотреть все таблицы. Я написал об этом процессе в этой теме.
Я пробовал множество различных методов подключения, как с помощью SQLConnect(), так и с SQLDriverConnect(), и я полностью сбит с толку. Здесь вы можете увидеть несколько различных попыток (некоторые, конечно же, терпят неудачу и на хосте):
Код: Выделить всё
//strcpy_s((char*)szConnStrIn, sizeof(szConnStrIn), "DRIVER={ODBC Driver17 for SQL Server};SERVER=SQLEXPRESS;DATABASE=master;Trusted_Connection=Yes;");
//strcpy_s((char*)szConnStrIn, sizeof(szConnStrIn), "DSN=SQLExpress;DATABASE=;Trusted_Connection=Yes;");
//strcpy_s((char*)szConnStrIn, sizeof(szConnStrIn), "DSN=\\SQLExpress;DATABASE=;Trusted_Connection=Yes;");
//strcpy_s((char*)szConnStrIn, sizeof(szConnStrIn), "Server=\\SQLExpress;DSN=SQLExpress;Trusted_Connection=YES;");
//strcpy_s((char*)szConnStrIn, sizeof(szConnStrIn), "Server=tcp:;DSN=SQLEXPRESS;DATABASE=;UId=;PWD=
;Trusted_Connection=NO;TrustServerCertificate=yes;ENCRYPT=no;");
//strcpy_s((char*)szConnStrIn, sizeof(szConnStrIn), "Server=;DSN=SQLEXPRESS;DATABASE=;UId=;PWD=;Trusted_Connection=NO;TrustServerCertificate=yes;ENCRYPT=no;");
//strcpy_s((char*)szConnStrIn, sizeof(szConnStrIn), "Server=tcp:,1433;DSN=SQLEXPRESS;DATABASE=;UId=;PWD=;Trusted_Connection=NO;TrustServerCertificate=yes;ENCRYPT=no;");
strcpy_s((char*)szConnStrIn, sizeof(szConnStrIn), g_sConnectionString);
iReturn = SQLDriverConnect(sqlConnection, AfxGetMainWnd()->GetSafeHwnd(), szConnStrIn, SQL_NTS, szConnStrOut, sizeof(szConnStrOut), &pcbConnStrOut, SQL_DRIVER_NOPROMPT);
//iReturn = SQLConnect(sqlConnection, (SQLCHAR*)dsnName, SQL_NTS, (SQLCHAR*)userID, SQL_NTS, (SQLCHAR*)passwd, SQL_NTS);
DiagnosticOutput(iReturn, "BECSQLDatabase::InitSystem()", sqlConnection);
ErrorOutput("BECSQLDataBase::InitSystem()", sqlConnection);
Ошибка, которую я получаю от диагностики: «Имя источника данных не найдено и не указан драйвер по умолчанию».
Может ли кто-нибудь подсказать, что мне здесь не хватает? Указание драйвера, похоже, не помогает, но, возможно, у меня неправильный драйвер или синтаксис.
Подробнее здесь: https://stackoverflow.com/questions/798 ... connect-or
Мобильная версия