无法使用 soci 库连接到 SQL 服务器
Unable to connet to SQL server using soci library
我是 c++ 的初学者,我的问题是 Linux 连接到 SQL 服务器与 soci 库,我的代码是这样的,但我有错误,我没有找到解决我问题的方法,我的代码是这样的:
我有错误:
[unixODBC][Driver Manager]Data source name not found, and no default driver specified (SQL state IM002)
代码如下:
try{
soci::session sql("odbc","DSN=ODBC;UID=sa;PWD=sa123; Connection Driver=TDS;Database=ReportServer; Server=192.168.1.52;Port=1433;");
}
catch(soci::odbc_soci_error const & e){
cout<<"start error";
cout<<e.odbc_error_code()<<endl;
cout<<e.what();
}
您的 ODBC 连接字符串不正确,您的第一个参数指定了一个名为 "ODBC" 的数据源,您尚未在您的操作 system/odbc 管理器中配置它。
所以要么你应该用给定的参数配置一个数据源,比如 UID=sa;PWD=sa123; Connection Driver=TDS;Database=ReportServer; Server=192.168.1.52;Port=1433;
和相应的 ODBC 数据源 manager/linux 管理程序,一个可用的名称,比如 "local_test_db" 并且只使用"DSN=local_test_db" 作为你的连接字符串
或(异或)
从您的连接字符串中删除 "dsn=ODBC" 部分,然后使用 "UID=sa;PWD=sa123; Connection Driver=TDS;Database=ReportServer; Server=192.168.1.52;Port=1433;"
重试
我是 c++ 的初学者,我的问题是 Linux 连接到 SQL 服务器与 soci 库,我的代码是这样的,但我有错误,我没有找到解决我问题的方法,我的代码是这样的:
我有错误:
[unixODBC][Driver Manager]Data source name not found, and no default driver specified (SQL state IM002)
代码如下:
try{
soci::session sql("odbc","DSN=ODBC;UID=sa;PWD=sa123; Connection Driver=TDS;Database=ReportServer; Server=192.168.1.52;Port=1433;");
}
catch(soci::odbc_soci_error const & e){
cout<<"start error";
cout<<e.odbc_error_code()<<endl;
cout<<e.what();
}
您的 ODBC 连接字符串不正确,您的第一个参数指定了一个名为 "ODBC" 的数据源,您尚未在您的操作 system/odbc 管理器中配置它。
所以要么你应该用给定的参数配置一个数据源,比如 UID=sa;PWD=sa123; Connection Driver=TDS;Database=ReportServer; Server=192.168.1.52;Port=1433;
和相应的 ODBC 数据源 manager/linux 管理程序,一个可用的名称,比如 "local_test_db" 并且只使用"DSN=local_test_db" 作为你的连接字符串
或(异或)
从您的连接字符串中删除 "dsn=ODBC" 部分,然后使用 "UID=sa;PWD=sa123; Connection Driver=TDS;Database=ReportServer; Server=192.168.1.52;Port=1433;"
重试