您的应用程序必须先建立连接,然后才能执行任何数据库操作。
分配 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 下找到此示例。
![]() |
使用DocCommentXchange讨论此页。
|
版权 © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |