关于使用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