我有一个SQL Server,我所知道的是机器上没有ODBC数据源设置,我需要从C++连接到它.我有用户名和密码,如何连接到它?
您可以使用SQLDriverConnect在没有DSN的情况下使用ODBC进行连接.在连接字符串中指定已安装驱动程序的名称.SQL Server Native客户端11示例:
Driver={SQL Server Native Client 11.0};Server=SqlHostName;Database=SomeSqlDatabase;UID=YourUserName;PWD=YourPassword
代码段:
retcode = SQLDriverConnect(hdbc , NULL , (SQLCHAR*)InConnectionString , (SQLSMALLINT)sizeof(InConnectionString) , (SQLCHAR*)OutConnectionString , (SQLSMALLINT)sizeof(OutConnectionString) , (SQLSMALLINT*)StringLength2Ptr , (SQLUSMALLINT)DriverCompletion );
编辑:
连接字符串中的驱动程序名称必须用大括号括起来,并与ODBC数据源管理器工具(odbcad32.exe)的"驱动程序"选项卡下列出的名称完全匹配.名为"SQL Server"的ODBC驱动程序附带Windows,但提供了传统驱动程序以实现向后兼容性.通常应该使用单独安装的ODBC驱动程序,该驱动程序支持自SQL Server 2005以来添加的较新数据类型和功能.
撰写本文时,最新的SQL Server ODBC驱动程序是独立的"SQL Server的ODBC驱动程序13"(版本13.1).