Невозможно подключиться к серверу SQL с помощью библиотеки soci - PullRequest
0 голосов
/ 27 декабря 2018

Я новичок в C ++, моя проблема в Linux для подключения к SQL Server с помощью библиотеки 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();            
    }

1 Ответ

0 голосов
/ 12 февраля 2019

Ваша строка подключения ODBC неверна, ваш первый параметр указывает источник данных с именем "ODBC", который вы не настроили в своей операционной системе / диспетчере odbc.

Так что вы должны настроить источник данных с помощьюданные параметры, такие как UID=sa;PWD=sa123; Connection Driver=TDS;Database=ReportServer; Server=192.168.1.52;Port=1433; с соответствующей программой управления источниками данных ODBC / linux, с используемым именем, например «local_test_db», и просто используйте «DSN = local_test_db» в качестве строки подключения

или (эксклюзивно или)

удалите часть «dsn = ODBC» из строки подключения и попробуйте снова с «UID = sa; PWD = sa123; Драйвер подключения = TDS; База данных = ReportServer; Сервер = 192.168.1.52; Порт = 1433»; "

...