问题描述
怎么没有VC版,难道在3D游戏设计区,汗!到.net来发。我用ODBC管理器创建好了Sqlserver数据源,测试通过,可我用SQLConnect连接不上,是怎么回事,Access都可以连接成功。。代码如下:#include<windows.h>#include<sqlext.h>#include<iostream.h>#include<odbcinst.h>intmain(){HENVhenv;//数据据源连接需要的环境变量HDBChdbc;//数据源连接需要的连接变量RETCODErcode;//创建环境句柄SQLAllocEnv(&henv);//创建连接句柄SQLAllocConnect(henv,&hdbc);//连接数据源rcode=::SQLConnect(hdbc,(PUCHAR)"MySqlServer",SQL_NTS,(PUCHAR)"sa",SQL_NTS,(PUCHAR)"123456",SQL_NTS);if(rcode==SQL_SUCCESS){cout<<"连接数据源成功!"<<endl;}else{cout<<"连接失败!"<<endl;}return0;}
解决方案
解决方案二:
我都是用的ADO方式连接的,楼主连接不对估计就是函数的参数有问题,在仔细看看吧
解决方案三:
不清楚,自己慢慢找吧,再问一个SQLConfigDataSource函数,最后一个参数,里面有UID和PWD,是登陆ID和密码。我看说明是Access的帐号。。。难道它们对应的不是SQLServer的登陆账号么,只限于Access。而SQLConnect函数也有一个登陆ID和密码的参数,它们是一样的么。。。如果一样,不重复了么。。。搞不清楚。。。
解决方案四:
问题解决了。。。if(rcode==SQL_SUCCESS)是这句,如果成功执行了,还有一种状态:SQL_SUCCESS_WITH_INFO就是这个小细节,害得我找了一两天。别看这好似没什么,它会引出很多问题。。。。我起先在else语句块加上了一个return0语句,如果没加的话,倒还可以发现问题。。。。我也改过默认数据库,没有用。。。但最后我发现是这个原因后(SQL_SUCCESS_WITH_INFO),改了,还是不行。。。原来是默认数据库不对,又改回来了。。。如果不是发现这个SQL_SUCCESS_WITH_INFO,我再怎么更改默认数据库,也不会有结果。。。好了,以上是一个小问题的总结。。。。CSDN提的问题,就没有满意答案。。。。。。。大家热情度都不高,其实我也是一样。。呵呵。。。
解决方案五:
你有那个连接字符串没
解决方案六:
好精彩
解决方案七:
该回复于2012-02-11 19:58:32被版主删除
解决方案八:
该回复于2012-02-14 09:21:15被版主删除