具体代码
try
{
m_pConnect.CreateInstance(__uuidof(Connection));
m_pConnect->Open(_bstr_t(str_server),"","",adModeUnknown);
if(m_pConnect->State)
{
AfxMessageBox("数据库连接成功");
m_pConnect->Close();
}
}
catch (_com_error e)
{
CString errormessage;
errormessage.Format("连接数据库失败!\r\n错误信息:%s",e.ErrorMessage());
AfxMessageBox(errormessage);///显示错误信息
}
try
{
m_pConnect.CreateInstance(__uuidof(Connection));
m_pConnect->Open(_bstr_t(str_server),"","",adModeUnknown);
if(m_pConnect->State)
{
AfxMessageBox("数据库连接成功");
m_pConnect->Close();
}
}
catch (_com_error e)
{
CString errormessage;
errormessage.Format("连接数据库失败!\r\n错误信息:%s",e.ErrorMessage());
AfxMessageBox(errormessage);///显示错误信息
}
m_pConnect.CreateInstance(__uuidof(Connection));
创建对象失败了
可为什么在我机器上就能正确运行
另外一台机器上装了mdac2.7
如果是这句失败,则需要修改一下:
::CoInitialize(NULL)看是不是写成了CoInitialize(NULL) 而没有::;
例外,最好把这个代码放在工程初始化的时候。
#import "msado15.dll" rename("EOF", "ADOEOF") rename("BOF", "ADOBOF")
#import "c:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","adoEOF") rename("BOF","adoBOF")
程序开有导入文件,你们的系统是不是都装C盘啊?
到网上下mdac_typ2.8 给别人装下吧
http://www.mpsoft.net/mdac_typ.exe
绝对正确
{
m_pConn->Open(_bstr_t(CnnStr),"","",adConnectUnspecified);
m_Actived=TRUE;
return TRUE;
}
catch(_com_error &e)
{
MessageBox(NULL,e.ErrorMessage(),e.Description(),MB_OK);
::AfxMessageBox("Data Can't Open");
return FALSE;
}
防火墙关闭了吗??一般我连别的机子时,我都是用IP来连的;