1 // Connect to the Data source
2 // create table emp with 3 fields.
10 inline void checkrc(int rc
, int line
)
14 printf("ERROR %d at line %d\n",rc
,line
);
27 SQLSMALLINT outstrlen
;
29 ret
= SQLAllocHandle(SQL_HANDLE_ENV
, SQL_NULL_HANDLE
, &env
);
30 checkrc(ret
,__LINE__
);
32 ret
= SQLSetEnvAttr(env
,SQL_ATTR_ODBC_VERSION
,(void*)SQL_OV_ODBC3
,0);
33 checkrc(ret
,__LINE__
);
35 ret
= SQLAllocHandle(SQL_HANDLE_DBC
,env
,&dbc
);
36 checkrc(ret
,__LINE__
);
38 ret
= SQLConnect (dbc
,
39 (SQLCHAR
*) "test", (SQLSMALLINT
) strlen ("test"),
41 (SQLSMALLINT
) strlen ("root"),
42 (SQLCHAR
*) "manager",
43 (SQLSMALLINT
) strlen (""));
48 if(SQL_SUCCEEDED(ret
))
50 printf("\nConnect to the data source successfully\n");
54 printf("Failed to connect\n");
59 ret
= SQLAllocHandle(SQL_HANDLE_STMT
,dbc
,&stmt
);
60 checkrc(ret
,__LINE__
);
63 SQLCHAR table
[100]= "create table emp(eid int, ename char(20),salary float)";
65 ret
= SQLExecDirect(stmt
,table
,SQL_NTS
);
66 checkrc(ret
,__LINE__
);
67 printf("Table 'emp' created \n");
69 ret
= SQLFreeHandle(SQL_HANDLE_STMT
,stmt
);
70 checkrc(ret
,__LINE__
);
72 ret
- SQLDisconnect(dbc
);
73 checkrc(ret
,__LINE__
);
75 ret
= SQLFreeHandle(SQL_HANDLE_DBC
,dbc
);
76 checkrc(ret
,__LINE__
);
78 ret
= SQLFreeHandle(SQL_HANDLE_ENV
,env
);
79 checkrc(ret
,__LINE__
);