modified to accept host and connect to the network
[csql.git] / examples / odbc / ODBCman2.c
blob805e190f404360342e0386562038be531c0ec4f8
1 // Connect to the Data source
2 // create table emp with 3 fields.
4 #include<stdio.h>
5 #include<stdlib.h>
6 #include<string.h>
7 #include<sql.h>
8 #include<sqlext.h>
10 inline void checkrc(int rc, int line)
12 if(rc)
14 printf("ERROR %d at line %d\n",rc,line);
15 exit(1);
20 int main()
22 SQLHENV env;
23 SQLHDBC dbc;
24 SQLHSTMT stmt;
25 SQLRETURN ret;
26 SQLCHAR outstr[1024];
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"),
40 (SQLCHAR *) "root",
41 (SQLSMALLINT) strlen ("root"),
42 (SQLCHAR *) "manager",
43 (SQLSMALLINT) strlen (""));
48 if(SQL_SUCCEEDED(ret))
50 printf("\nConnect to the data source successfully\n");
52 else
54 printf("Failed to connect\n");
55 return 2;
59 ret = SQLAllocHandle(SQL_HANDLE_STMT,dbc,&stmt);
60 checkrc(ret,__LINE__);
62 // Table creation
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__);
80 return 0;