HRESULT hr;
try
{
hr = m_pConnection.CreateInstance("ADODB.Connection");///创建Connection对象
if(SUCCEEDED(hr))
{
CString strSql;
char Source[30],uid[30],pwd[30],DBName[30];
memset(Source,0,sizeof(Source));
memset(uid,0,sizeof(uid));
memset(pwd,0,sizeof(pwd));
memset(DBName,0,sizeof(DBName));
::GetPrivateProfileString("DB","Source","",Source,30,".\\init.ini");
::GetPrivateProfileString("DB","UID","",uid,30,".\\init.ini");
::GetPrivateProfileString("DB","PWD","",pwd,30,".\\init.ini");
::GetPrivateProfileString("DB","database","",DBName,30,".\\init.ini");
strSql.Format("Provider=SQLOLEDB;Data Source=%s;User ID=%s;Password=%s;Persist Security Info=True;Initial Catalog=%s",Source,uid,pwd,DBName);
hr = m_pConnection->Open((_bstr_t)strSql,"","",adModeUnknown); }
}
catch(_com_error e)///捕捉异常
{
CString errormessage;
errormessage.Format("连接数据库失败!\r错误信息:%s",e.ErrorMessage());
AfxMessageBox(errormessage);///显示错误信息
}在Data Source出问题!!运行期错误,捕捉到异常,说是连接数据库失败:未指明错误!改成DataSource或Source就正常,但这样写到其它机子上会不会又不行。因为之前用Provider=SQLOLEDB;server=%s;uid=%s;pwd=%s;database=%s在本机正常运行,在另外的机子上不行才改掉。
请问哪位大侠能指点迷津,说说那连接串的问题在哪,有什么办法解决?补充,数据库在本地。
try
{
hr = m_pConnection.CreateInstance("ADODB.Connection");///创建Connection对象
if(SUCCEEDED(hr))
{
CString strSql;
char Source[30],uid[30],pwd[30],DBName[30];
memset(Source,0,sizeof(Source));
memset(uid,0,sizeof(uid));
memset(pwd,0,sizeof(pwd));
memset(DBName,0,sizeof(DBName));
::GetPrivateProfileString("DB","Source","",Source,30,".\\init.ini");
::GetPrivateProfileString("DB","UID","",uid,30,".\\init.ini");
::GetPrivateProfileString("DB","PWD","",pwd,30,".\\init.ini");
::GetPrivateProfileString("DB","database","",DBName,30,".\\init.ini");
strSql.Format("Provider=SQLOLEDB;Data Source=%s;User ID=%s;Password=%s;Persist Security Info=True;Initial Catalog=%s",Source,uid,pwd,DBName);
hr = m_pConnection->Open((_bstr_t)strSql,"","",adModeUnknown); }
}
catch(_com_error e)///捕捉异常
{
CString errormessage;
errormessage.Format("连接数据库失败!\r错误信息:%s",e.ErrorMessage());
AfxMessageBox(errormessage);///显示错误信息
}在Data Source出问题!!运行期错误,捕捉到异常,说是连接数据库失败:未指明错误!改成DataSource或Source就正常,但这样写到其它机子上会不会又不行。因为之前用Provider=SQLOLEDB;server=%s;uid=%s;pwd=%s;database=%s在本机正常运行,在另外的机子上不行才改掉。
请问哪位大侠能指点迷津,说说那连接串的问题在哪,有什么办法解决?补充,数据库在本地。
解决方案 »
- error LNK2001: 无法解析的外部符号【VC调用matlab engine】
- 关于使用CxImage类保存客户区绘图为jpg图像的问题。
- 高分相求:关于CWnd的问题,高手救命啊 鞠躬!!
- 用isapi实现二级域名的功能,具体怎么实现。可能应该算rewrite功能。
- 再问全局变量的定义:我天天都得这些重复的工作!
- 想做一个拼音输入法,是不是要将拼音和汉字的对应关系自己做一个表呀。
- 出现这样的错误信息,是什么原因造成的?
- 请问如何将char转成int型
- 怎么分离最新版本Visual Studio 下的ML汇编器?
- 深入浅出mfc 简体版什么时候发行?
- OllyDBG调试器
- 求助:'GLunit' does not name a type
try
{
//你的ADO代码
}
catch (_com_error& e)
{
AfxMessageBox(e.Description());
}
Provider=sqloledb;Data Source=190.190.200.100,1433;Network Library=DBMSSOCN;Initial Catalog=myDataBase;User ID=myUsername;Password=myPassword;
http://hi.baidu.com/15460/blog/item/c77b9dd32e841536960a1667.html
现在提示是这样
进去。通过属性弄个连接进去,然后测试一下。然后对比下你的连接CString 和自动生成的CString有什么区别没。