#include <stdio.h>
#include <windows.h>
#include <sqlfront.h>
#include <sqldb.h>
#pragma comment(lib, "ntwdblib")
int err_handler (PDBPROCESS dbproc, INT severity,
INT dberr, INT oserr, LPCSTR dberrstr, LPCSTR oserrstr)
{
printf ("DB-Library Error %i: %s\n", dberr, dberrstr);
if (oserr != DBNOERR)
{
printf ("Operating System Error %i: %s\n", oserr, oserrstr);
}
return (INT_CANCEL);
}
int msg_handler (PDBPROCESS dbproc, DBINT msgno, INT msgstate,
INT severity, LPCSTR msgtext, LPCSTR server,
LPCSTR procedure, DBUSMALLINT line)
{
printf ("SQL Server Message %ld: %s\n", msgno, msgtext);
return (0);
}
main()
{
PDBPROCESS dbproc;
PLOGINREC login;
DBCHAR name[100];
dberrhandle (err_handler);
dbmsghandle (msg_handler);
dbinit ();
login = dblogin ();
DBSETLUSER (login, "sa");
DBSETLPWD (login, "sa");
dbproc = dbopen (login, "");
dbcmd (dbproc, "select username from program..tbl_userinfo");
dbsqlexec (dbproc);
if (dbresults (dbproc) == SUCCEED)
{
dbbind (dbproc, 1, NTBSTRINGBIND, 0, name);
while (dbnextrow (dbproc) != NO_MORE_ROWS)
{
printf ("%s\n", name);
}
}
dbexit ();
return 0;
}
错误信息为:
DB-Library Error 10004:无法连接:SQL Server 不可用或不存在。无法连接:SQL Server 不存在或拒绝网络访问。
Operating System Error 2:ConnectionOpen (Connect()).
DE-Library Error 10001:NULL DBPROCESS pointer encountered.
DE-Library Error 10001:NULL DBPROCESS pointer encountered.
DE-Library Error 10001:NULL DBPROCESS pointer encountered.
系统找不到指定路径。
在此先谢过各位大虾了!
4 个解决方案
#1
佩服搞C的人
SQL Server 服务启动了吗?网络通吗?
SQL Server 服务启动了吗?网络通吗?
#2
服务启动了,查询分析器是可以查询的。
本来想使用ADO的,觉得麻烦,顺便想学学这个。
到网上搜了半天也没有找到解决方案,只听说将SQLServer的端口改为4000就可以了,但我不知道在哪里改端口。
请大虾们支招!!!谢谢!!!
本来想使用ADO的,觉得麻烦,顺便想学学这个。
到网上搜了半天也没有找到解决方案,只听说将SQLServer的端口改为4000就可以了,但我不知道在哪里改端口。
请大虾们支招!!!谢谢!!!
#3
对了,我连接的本地的SQLServer,所以网络肯定没问题。
#4
不需要修改SQLServer的端口,默认的1433就可访问。
如果你修改了SQLServer的端口,那么对应的SQLServer客户端的访问端口也要改变一样的值,否侧db-library程序无法成功访问SQLServer。
如果你修改了SQLServer的端口,那么对应的SQLServer客户端的访问端口也要改变一样的值,否侧db-library程序无法成功访问SQLServer。
#1
佩服搞C的人
SQL Server 服务启动了吗?网络通吗?
SQL Server 服务启动了吗?网络通吗?
#2
服务启动了,查询分析器是可以查询的。
本来想使用ADO的,觉得麻烦,顺便想学学这个。
到网上搜了半天也没有找到解决方案,只听说将SQLServer的端口改为4000就可以了,但我不知道在哪里改端口。
请大虾们支招!!!谢谢!!!
本来想使用ADO的,觉得麻烦,顺便想学学这个。
到网上搜了半天也没有找到解决方案,只听说将SQLServer的端口改为4000就可以了,但我不知道在哪里改端口。
请大虾们支招!!!谢谢!!!
#3
对了,我连接的本地的SQLServer,所以网络肯定没问题。
#4
不需要修改SQLServer的端口,默认的1433就可访问。
如果你修改了SQLServer的端口,那么对应的SQLServer客户端的访问端口也要改变一样的值,否侧db-library程序无法成功访问SQLServer。
如果你修改了SQLServer的端口,那么对应的SQLServer客户端的访问端口也要改变一样的值,否侧db-library程序无法成功访问SQLServer。