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

SQL Anywhere 11.0.1 (Deutsch) » SQL Anywhere Server - Programmierung » SQL Anywhere Datenzugriff-APIs » SQL Anywhere ODBC-API » 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 11 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
  • SQL_NTS   Jede Zeichenfolge, die an ODBC übergeben wird, hat eine entsprechende Länge. Ist die Länge unbekannt, können Sie SQL_NTS als Argument verwenden, um anzuzeigen, dass es sich um eine nullterminierte Zeichenfolge handelt, deren Ende durch das Nullzeichen gekennzeichnet ist (\0).

  • SQLSetConnectAttr   In der Standardeinstellung arbeitet ODBC im Autocommit-Modus. Dieser Modus wird abgeschaltet, indem SQL_AUTOCOMMIT auf FALSE gesetzt wird.

    Weitere Hinweise finden Sie unter Verbindungsattribute festlegen.


Verbindungsattribute festlegen
Verbindungsattribute abrufen
Threads und Verbindungen in ODBC-Anwendungen