运行基于一个SQL server数据库的VC++示例程序。按要求自建了数据库trade,然后在服务器上新建登陆名lunalook,将默认数据源设为trade,大致效果如图1:

图1
但是在BOOL CTrade_MISApp::InitInstance()采用ADO方式完成数据库连接时,提示连接失败,情况如图2:

如果改为sa用户登陆,可以连接成功。主要涉及代码如下:
ADOConn->Open("Provider=SQLOLEDB.1;DATA SOURCE=QH-DCNZ;INITIAL CATALOG=trade","sa","123", adConnectUnspecified);
// ADOConn->Open("Provider=SQLOLEDB.1;DATA SOURCE=QH-DCNZ;INITIAL CATALOG=trade","lunalook","123", adConnectUnspecified);
请教专家,产生上述问题的原因。
------解决思路----------------------
没有权限吧!
------解决思路----------------------
建議使用帳號“lunalook”和密碼“123”登錄數據庫,如果可以登錄,就是程序問題;否則有可能就是帳號密碼不對。
------解决思路----------------------
楼主是不是将服务器用户名和数据库用户名混淆了!
select * from syslogins
看下是否存在你所说的用户名,没有需要采用sp_addlogin去添加,多看看SQL SERVER创建用户和赋权限的资料!
------解决思路----------------------
登录名要在服务器下面的-> 安全性->登录名下面新建(不是数据库下的安全性)
另外记得影射 数据库用户相应权限