在linux下通过C语言基于freetds连接sql2000

安装好freetds之后
添加库的环境变量
$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/freetds/lib/
之后开vi
#include <stdio.h> #include <string.h> #include <stdio.h> #include <unistd.h> #include </usr/local/freetds/include/sybfront.h> #include </usr/local/freetds/include/sybdb.h> void echo(char *str) { printf("%s/n",str); } int main(void) { char uname[32] = "sa"; char upass[32] = "thisispasswordarea"; char server[32] = "222.222.222.222:1678"; dbinit(); LOGINREC *loginrec = dblogin(); DBSETLUSER(loginrec,uname); DBSETLPWD(loginrec,upass); DBPROCESS *dbprocess = dbopen(loginrec,server); echo("connecting..."); if(dbprocess == FAIL) { echo("connect...fail"); return 0; } if(dbuse(dbprocess,"db_6930") == FAIL) { echo("database select fail"); return 0; } else { echo("connect success."); dbcmd(dbprocess,"select top 10 userid from wells.dbtest.dbo.user0"); if(dbsqlexec(dbprocess) == FAIL){ echo("query fail..."); return 0; } DBINT result_code; char uid[20]; char nickname[100]; char email[200]; int rows = 0; while((result_code = dbresults(dbprocess))!= NO_MORE_RESULTS) { if(result_code == SUCCEED) { dbbind(dbprocess,1,CHARBIND,(DBINT)0,(BYTE*)uid); while(dbnextrow(dbprocess) != NO_MORE_ROWS) { rows++; echo(uid); } } } printf("final row=%d/n",rows); } dbclose(dbprocess); echo("connect closed."); return 0; } 存为emailParser.c 编译命令============================== gcc emailParser.c -L/usr/local/freetds/lib -lsybdb 执行========================= ./a.out 输出================================ connecting... connect success. 358568 358569 358570 358571 358572 358573 358574 358575 358576 358577 final row=10 connect closed. ================== 高层应用自己挖掘咯

你可能感兴趣的:(sql,c,linux,server,语言,library)