读书人

关于使用DB-Library用C语言连接SQL Se

发布时间: 2012-02-17 17:50:42 作者: rapoo

关于使用DB-Library用C语言连接SQL Server数据库的问题
main(argc, argv)

int argc;

char *argv[];

{

DBPROCESS *dbproc; /* Our connection with SQL Server. *

LOGINREC *login; /* Our login information. */

DBCHAR password[20];

RETCODE result_code;

fflush(stdout);

/* Initialize DB-Library. */

if (dbinit() == FAIL)

exit(ERREXIT);

login = dblogin();

DBSETLUSER(login, "sa ");

DBSETLPWD(login, "passwd ");

dbproc = dbopen(login, "sql ");

dbcmd(dbproc, "select password from author order by authorid ");

dbsqlexec(dbproc);

while ((result_code = dbresults(dbproc)) != NO_MORE_RESULTS)

{

if (result_code == SUCCEED)

{

dbbind(dbproc, 1,NTBSTRINGBIND, (DBINT)0, (BYTE *)password);

printf( "\n The password is: ");

while (dbnextrow(dbproc) != NO_MORE_ROWS)

{

printf( "%s\n ",password);

}

}

}

dbexit();

exit(STDEXIT);

}
这几天一个项目中用到C语言连接SQL Server数据库的问题,上面是在网上找到的一段代码,使用的是DB-Library连接数据库.我的疑问是,这段代码如何连接远端的数据库的,数据库连接语句中没看到有对远端数据库服务器连接用到的IP地址和端口号赋值的啊,没有IP地址和端口号如何连接远端的数据库服务器呢?难道在
main(argc, argv)

int argc;

char *argv[];
一般的程序是通过argv变量传进IP地址及端口号的,但是这个地方在程序里也没有对argv参数的处理,请达人指点,这段程序到底如何连接远端的数据库服务器的呢?

[解决办法]
关键是这行

dbproc = dbopen(login, "sql ");

"sql " 是在freetds.conf中定义的
如:
[sql]
host = ntbox.mydomain.com
port = 1433

读书人网 >UNIXLINUX

热点推荐