如何在将Visual Studio C++控制台应用程序连接到Microsoft SQL Server时修复"
How to fix “SQL Server does not exist or access denied.” when connecting a Visual Studio C++ console app to a Microsoft SQL Server
我正试图在Visual Studio 2019的控制台应用程序中连接Microsoft SQL Server数据库。
我收到一个错误: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-ACCOUNTSSQLEXPRESS,1433", SQL_NTS, OutConString, 1024, NULL, SQL_DRIVER_NOPROMPT)
我已经尝试在windows防火墙中为端口1433创建一个异常,并从该网站提出了其他建议,但没有成功。
https://www.sqlserverlogexplorer.com/database-does-not-exist-access-denied/
我知道连接存在,因为我可以通过SQL_DRIVER_COMPLETE_REQUIRED参数进行连接,而且我还可以通过"工具">"连接到数据库"在Visual Studio中手动加载数据库。
我想手动将连接字符串放入代码中,因为每次运行/调试程序时都不方便通过提示窗口来选择我想要的数据库。
我只通过删除连接字符串中的地址和网络就解决了这个问题。
SQLDriverConnect(SQLConnHandle, NULL, (SQLCHAR*)"DSN=JoelDB;UID=myID;PWD=myPW;WSID=JE-ACCOUNTS;DATABASE=myDB;", SQL_NTS, OutConString, 1024, NULL, SQL_DRIVER_NOPROMPT)
相关文章:
- 使用 SQLConfig数据源创建 SQL Server DSN 失败:关键字-值对无效
- 如何将QTime保存在SQL Server Express表中并读回?
- 无法从 SQL Server 检索数据
- 如何在将Visual Studio C++控制台应用程序连接到Microsoft SQL Server时修复"
- SQL Server-未找到数据源名称,也未指定默认驱动程序
- 我应该如何使用SQL Server CLR来使用由C++ / C编译的UDT
- 如何在C++代码中连接 SQL Server 数据库
- SQL Server 2017 C++ ODBC 连接在 Linux 上不起作用
- 从适用于 SQL Server 的 Azure 帐户获取 IP
- 通过 ODBC C++将带有日期时间的记录插入 SQL Server 2014 的问题
- SQL Server 2016 CLR 存储过程错误:"A system assertion check has failed"
- MFC 使用 ODBC 连接到 SQL Server
- 从.Net访问SQL Server与从Qt
- QODBC连接到SQL Server,但无法执行查询
- 如何在C 中连接到SQL Server
- ODBC 错误"String data, right truncation State code: 22001"与 SQL Server 数据库
- 在C++中通过SOCI/ODBC实现SQL Server存储过程
- 以编程方式连接到远程 SQL Server C++
- 如何与SQL Server 2008建立稳定的连接,并在C 中编码我的第一个CRUD操作
- Microsoft如何保护SQL Server二进制文件免受反向工程的影响