Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.0 (Deutsch) » SQL Anywhere Server - Programmierung » ODBC-Unterstützung » Eine ODBC-Verbindungsfunktion wählen

 

Eine Verbindung herstellen

Ihre Anwendung muss eine Verbindung herstellen, bevor sie Datenbankvorgänge ausführen kann.

 ♦  So wird eine ODBC-Verbindung hergestellt
  1. ODBC-Umgebung zuweisen.

    Zum Beispiel:

    SQLHENV   env;
    SQLRETURN retcode;
    retcode = SQLAllocHandle( SQL_HANDLE_ENV,
      SQL_NULL_HANDLE, &env );
  2. ODBC-Version deklarieren.

    Wenn Sie deklarieren, dass die Anwendung ODBC Version 3 befolgen soll, werden SLQSTATE-Werte und einige andere versionsabhängige Funktionen auf das entsprechende Verhalten eingestellt. Zum Beispiel:

    retcode = SQLSetEnvAttr( env,
      SQL_ATTR_ODBC_VERSION, (void*)SQL_OV_ODBC3, 0);
  3. Falls erforderlich, die Datenquelle oder Verbindungszeichenfolge zusammenstellen.

    Je nach Ihrer Anweisung können Sie eine Datenquelle oder Verbindungszeichenfolge hartcodieren oder sie für erhöhte Flexibilität extern speichern.

  4. Ein ODBC-Verbindungselement zuweisen.

    Zum Beispiel:

    retcode = SQLAllocHandle( SQL_HANDLE_DBC, env, &dbc );
  5. Diejenigen Verbindungsattribute festlegen, die vor dem Verbinden eingerichtet sein müssen.

    Einige Verbindungsattribute können nur vor bzw. nach dem Herstellen einer Verbindung festgelegt werden, während andere davor ebenso wie danach festgelegt werden können. Das Attribut SQL_AUTOCOMMIT kann beispielsweise vor oder nach dem Herstellen der Verbindung festgelegt werden:

    retcode = SQLSetConnectAttr( dbc,
       SQL_AUTOCOMMIT, 
       (SQLPOINTER)SQL_AUTOCOMMIT_OFF, 0 );

    Weitere Hinweise finden Sie unter Verbindungsattribute festlegen.

  6. ODBC-Verbindungsfunktion aufrufen.

    Zum Beispiel:



    if (retcode == SQL_SUCCESS 
        || retcode == SQL_SUCCESS_WITH_INFO) {
       printf( "dbc allocated\n" );
       retcode = SQLConnect( dbc,
          (SQLCHAR*) "SQL Anywhere 12 Demo", SQL_NTS,
          (SQLCHAR* ) "DBA", SQL_NTS,
          (SQLCHAR*) "sql", SQL_NTS );
       if (retcode == SQL_SUCCESS
             || retcode == SQL_SUCCESS_WITH_INFO){
       // successfully connected.

Ein vollständiges Beispiel befindet sich in Beispielverzeichnis\SQLAnywhere\ODBCConnect\odbcconnect.cpp.

 Hinweise

Verbindungsattribute festlegen
Verbindungsattribute abrufen
Threads und Verbindungen in ODBC-Anwendungen