在linux下通過C語言基于freetds連接sql2000
來源:程序員人生 發布時間:2013-10-05 03:02:30 閱讀次數:4136次
安裝好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",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",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.
==================
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈