アプリケーションでデータベース操作を実行するには、接続を確立します。
ODBC 環境を割り付けます。
次に例を示します。
SQLHENV env; SQLRETURN retcode; retcode = SQLAllocHandle( SQL_HANDLE_ENV, SQL_NULL_HANDLE, &env ); |
ODBC のバージョンを宣言します。
アプリケーションが ODBC バージョン 3 に準拠するように宣言すると、SQLSTATE 値と他のバージョン依存の機能が適切な動作に設定されます。次に例を示します。
retcode = SQLSetEnvAttr( env, SQL_ATTR_ODBC_VERSION, (void*)SQL_OV_ODBC3, 0); |
ODBC 接続項目を割り付けます。
次に例を示します。
retcode = SQLAllocHandle( SQL_HANDLE_DBC, env, &dbc ); |
接続前に必要な接続属性を設定します。
接続属性には、接続を確立する前または後に必ず設定するものと、確立前に設定しても後に設定してもかまわないものがあります。SQL_AUTOCOMMIT 属性は、接続の確立前にでも後にでも設定できる属性です。
retcode = SQLSetConnectAttr( dbc, SQL_AUTOCOMMIT, (SQLPOINTER)SQL_AUTOCOMMIT_OFF, 0 ); |
必要な場合は、データソースまたは接続文字列をアセンブルします。
アプリケーションによっては、データソースや接続文字列をハードコードしたり、柔軟性を高めるために外部に格納したりできます。
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 アプリケーションでのスレッドと接続
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |