无法使用 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;"

重试