2017-04-05 6 views
0

Ich versuche, die SOCI-Bibliothek mit meiner Datenbank zu verbinden, aber diesen Fehler auf meinem VS-Compiler-Ausgang erhalten.SOCI-ODBC-Verbindung ERROR

Mein Code ist:

enter image description here

Kann jemand bitte leite mich über das, was ich tue, falsch:

{ 
    try 
    { 
    backend_factory const& backEnd = odbc; 
    std::string const & connectString = "DSN=CVD_SQL_connection_2016b_64bit"; 
    session sql(backEnd, connectString); 

    } 
    catch (const std::exception& e) 
    { 

    cerr << e.what(); 
    } 

    return 0; 
} 

Die Fehlermeldungen sind die folgenden?

+0

aufzunehmen Vergessen ich auch sah in haben das, was wir für SQLDriverConnect brauchen, aber nicht verstehen können. Kann mir jemand ein Beispiel geben? –

+0

Durchsuchen Sie den Stack-Überlauf, um festzulegen, wie der Compilerschalter _CRT_SECURE_NO_WARNINGS gesetzt wird. Dazu gibt es viele Fragen und Antworten. – acraig5075

+0

Ich habe das dem Präprozessor hinzugefügt. Mein Problem ist, dass ich nicht zu sicher bin, welche Parameter ich einstellen muss, um mich mit meinem ODBC ms_sql zu verbinden. Der Website-Leitfaden ist der folgende [link] (http://soci.sourceforge.net/doc/3.2/backends/odbc.html). Können Sie mir mit diesem Leitfaden helfen? Ich entschuldige mich, weil es einfach scheint, aber ich kann nicht folgen. –

Antwort

0

können Sie

#define _CRT_SECURE_NO_WARNINGS 

oder

#pragma warning(disable : 4996) 

die Warnung zu unterdrücken verwenden.

oder benutzen:

#define _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES 1 

, damit der Compiler automatisch strcpy() für Sie mit strcpy_s() ersetzen. Siehe here for more


Um eine Verbindung ODBC Sie ein connection_parameters Objekt verwenden können, die Verbindungsdaten zu übergeben, wie folgt:

connection_parameters parameters("odbc", "DSN=CVD_SQL_connection_2016b_64bit"); 
parameters.set_option(odbc_option_driver_complete, "0"); 
session sql(parameters); 

nicht die soci-odbc.h