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

SQL Anywhere 12.0.1 » SQL Anywhere 服务器 - 编程 » ODBC 支持 » ODBC 连接函数

 

建立连接

您的应用程序必须先建立连接,然后才能执行任何数据库操作。

 ♦ 建立 ODBC 连接
  1. 分配 ODBC 环境。

    例如:

    SQLHENV   env;
    SQLRETURN retcode;
    retcode = SQLAllocHandle( SQL_HANDLE_ENV,
      SQL_NULL_HANDLE, &env );
  2. 声明 ODBC 版本。

    通过声明该应用程序遵循 ODBC 版本 3,SQLSTATE 值和某些其它与版本相关的功能都将被设置为适当的行为。例如:

    retcode = SQLSetEnvAttr( env,
      SQL_ATTR_ODBC_VERSION, (void*)SQL_OV_ODBC3, 0);
  3. 分配 ODBC 连接项。

    例如:

    retcode = SQLAllocHandle( SQL_HANDLE_DBC, env, &dbc );
  4. 设置任何必须在连接前设置的连接属性。

    有些连接特性必须在建立连接前或建立连接后进行设置,而其它连接特性则既可在之前设置也可在之后设置。SQL_AUTOCOMMIT 特性是一个既可在之前设置也可在之后设置的特性:

    retcode = SQLSetConnectAttr( dbc,
       SQL_AUTOCOMMIT, 
       (SQLPOINTER)SQL_AUTOCOMMIT_OFF, 0 );
  5. 如果需要,可以汇编这些数据源或连接字符串。

    根据您的应用程序的情况,您可以对数据源或连接字符串进行硬编码,也可以将它们存储在外部以获得更大的灵活性。

  6. 调用 ODBC 连接函数。

    例如:



    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.

可在 %SQLANYSAMP12%\SQLAnywhere\ODBCConnect\odbcconnect.cpp 下找到此示例。

 注意
 另请参见

设置连接属性
获取连接属性
ODBC 应用程序中的线程和连接