DB2
前提条件
サーバがインストールされている場合
「C:\Program Files\IBM\SQLLIB」が存在することを確認
クライアントからの場合
クライアントをインストールして「C:\Program Files\IBM\SQLLIB」に存在することを確認
データベースカタログ
設定を行なって、データベースのカタログを行なう
サンプルソース
/* Standard C/C++ Headers */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
/* DB2 ODBC Header */
#include <sqlcli1.h>
int main(int argc, char** argv)
{
/* Handles */
SQLHENV henv = SQL_NULL_HENV;
SQLHDBC hdbc = SQL_NULL_HDBC;
SQLHSTMT hstmt= SQL_NULL_HSTMT;
/* Local variables */
SQLRETURN rc;
SQLCHAR statement[32761];
SQLCHAR mycolout[12];
SQLINTEGER mycoloutlen = 0;
char dbname[8 + 1];
char user[18 + 1];
char pswd[30 + 1];
if (argc < 4) {
printf ("Usage: dbconn_ODBC_CLI <database name> <userid> <password>\n"); }
rc = SQLAllocHandle(SQL_HANDLE_ENV,
SQL_NULL_HANDLE,
&henv);
rc = SQLSetEnvAttr(henv
, SQL_ATTR_ODBC_VERSION
, (SQLPOINTER)SQL_OV_ODBC3, SQL_IS_INTEGER);
rc = SQLAllocHandle(SQL_HANDLE_DBC,
henv,
&hdbc);
/* connect to the database */
rc = SQLConnect(hdbc
, (SQLCHAR *)dbname
, SQL_NTS
, (SQLCHAR *)user
, SQL_NTS
, (SQLCHAR *)pswd
, SQL_NTS);
printf ("\n Successful connection to '%s' db using ODBC/CLI \n",dbname
);
rc = SQLAllocHandle(SQL_HANDLE_STMT,
hdbc,
&hstmt);
strcpy(statement
,"SELECT empno"); strcat(statement
," FROM DB2INST1.EMPLOYEE;");
rc = SQLExecDirect(hstmt
, statement
, SQL_NTS);
rc = SQLBindCol(hstmt
, 1
, SQL_C_CHAR
, mycolout
, sizeof(mycolout)
, &mycoloutlen);
while((rc = SQLFetch(hstmt)) == SQL_SUCCESS
|| rc == SQL_SUCCESS_WITH_INFO){
/* Print data */
printf(" Successful retrieval of record. Column 'empno' has a value of '%s'\n",mycolout
); }
rc = SQLCloseCursor(hstmt);
rc = SQLFreeStmt(hstmt, SQL_RESET_PARAMS);
rc = SQLFreeHandle(SQL_HANDLE_STMT, hstmt);
rc = SQLDisconnect(hdbc);
printf (" Successful Disconnection from database '%s'\n",dbname
);
rc = SQLFreeHandle(SQL_HANDLE_DBC, hdbc);
rc = SQLFreeHandle(SQL_HANDLE_ENV, henv);
return 0;
}
コンパイル・実行
c:\MinGW>gcc -I"C:\Program Files\IBM\SQLLIB\include" db2_sample01.c -o db2_sample01.exe "C:\Program Files\IBM\SQLLIB\lib\db2api.lib" "C:\Program Files\IBM\SQLLIB\lib\db2cli.lib"
c:\MinGW>db2_sample01.exe sample db2inst1 xxxxxxx
Successful connection to 'sample' db using ODBC/CLI
Successful retrieval of record. Column 'empno' has a value of '000010'
Successful retrieval of record. Column 'empno' has a value of '000020'
Successful retrieval of record. Column 'empno' has a value of '000030'
Successful retrieval of record. Column 'empno' has a value of '000050'
Successful retrieval of record. Column 'empno' has a value of '000060'
Successful Disconnection from database 'sample'
End of Program
c:\MinGW>
最終更新:2010年06月25日 09:09