你的位置:
问答吧
-> VC
-> 问题详情
VC6.0连接数据库出错...请大虾指点
代码部分:
_bstr_t ConnectionStr = "Provider=sqloledb;Network Library=DBMSSOCN;Initial Catalog=Factory;
User ID=admin;Password=123;Data Source=JERMEY-PC\SQLEXPRESS";
HRESULT hr;
try
{
hr=m_pConn.CreateInstance(__uuidof(Connection));
if(SUCCEEDED(hr))
{
//打开数据库连接
m_pConn->ConnectionTimeout = 5;///设置超时时间为5秒
hr=m_pConn->Open(ConnectionStr, "", "", adModeUnknown);
}
}
catch(_com_error e)
{
CString errormessage;
errormessage.Format("连接数据库失败!\r\n错误信息:%s",e.ErrorMessage());
AfxMessageBox(errormessage);
}
为什么会连接不上数据库呢?请教。。
作者: ksanson
发布时间: 2010-11-28
你都catch错误了,应该会把错误信息给显示吧。
作者: tiger9991
发布时间: 2010-11-28
前面加上CoInitialize(NULL),初始化com
作者: zwfgdlc
发布时间: 2010-11-28
引用 1 楼 tiger9991 的回复:
你都catch错误了,应该会把错误信息给显示吧。
错误就是连接数据库失败,未指定的错误啊
作者: ksanson
发布时间: 2010-11-28
C/C++ code
AfxMessageBox(e.Description(), e.ErrorMessage());
看下什么提示
作者: zwfgdlc
发布时间: 2010-11-28
引用 4 楼 zwfgdlc 的回复:
C/C++ code
AfxMessageBox(e.Description(), e.ErrorMessage());
看下什么提示
未指定错误:[DBNETLIB][ConnectionOpen(Connect()).]SQL Server不存在或拒绝访问
作者: ksanson
发布时间: 2010-11-28
检查数据库IP是否正确,用户名,密码对不对.
作者: zwfgdlc
发布时间: 2010-11-28
引用 5 楼 ksanson 的回复:
引用 4 楼 zwfgdlc 的回复:
C/C++ code
AfxMessageBox(e.Description(), e.ErrorMessage());
看下什么提示
未指定错误:[DBNETLIB][ConnectionOpen(Connect()).]SQL Server不存在或拒绝访问
用户名,密码会不会正确,是否已经建了数据库文件,还有就是权限了...
作者: shenyulv
发布时间: 2010-11-28
引用 6 楼 zwfgdlc 的回复:
检查数据库IP是否正确,用户名,密码对不对.
用户名和密码应该没错。
我觉得是这句问题:_bstr_t ConnectionStr = "Provider=sqloledb;Network Library=DBMSSOCN;Initial Catalog=Factory;
User ID=admin;Password=123;Data Source=JERMEY-PC\SQLEXPRESS";
作者: ksanson
发布时间: 2010-11-28