m_rDb.Open("Data Source=dd;UID=sa;PWD=;");
m_rset.m_pDatabase=&m_rDb;
try
{
CString abc,bcd;
abc.Format("EXEC sp_dboption 'wisdom','single user','true'");
bcd.Format("EXEC sp_dboption 'wisdom','single user','false'");
m_rDb.Execute(abc);//(1)
m_rDb.Execute("use master");
m_rDb.Execute("go");
m_rDb.Execute("EXEC wisrestore");
m_rDb.Execute("use wisdom");
m_rDb.Execute("go"
m_rDb.Execute(bcd);
MessageBox("完成数据库恢复");
}
catch(_com_error &e)
{
CString str;
str=e.ErrorMessage();
str="数据恢复失败 "+str;
AfxMessageBox(str);
}dd为ODBC数据源中配置的数据源名字,对应wisdom数据库。
我想实现数据恢复,恢复的存储过程在master数据库中,master数据库我配置了ff数据源,但2个数据源同时调用我不会操作,在(1)处就出现错误,但是捕捉不到请大侠们指点!
m_rset.m_pDatabase=&m_rDb;
try
{
CString abc,bcd;
abc.Format("EXEC sp_dboption 'wisdom','single user','true'");
bcd.Format("EXEC sp_dboption 'wisdom','single user','false'");
m_rDb.Execute(abc);//(1)
m_rDb.Execute("use master");
m_rDb.Execute("go");
m_rDb.Execute("EXEC wisrestore");
m_rDb.Execute("use wisdom");
m_rDb.Execute("go"
m_rDb.Execute(bcd);
MessageBox("完成数据库恢复");
}
catch(_com_error &e)
{
CString str;
str=e.ErrorMessage();
str="数据恢复失败 "+str;
AfxMessageBox(str);
}dd为ODBC数据源中配置的数据源名字,对应wisdom数据库。
我想实现数据恢复,恢复的存储过程在master数据库中,master数据库我配置了ff数据源,但2个数据源同时调用我不会操作,在(1)处就出现错误,但是捕捉不到请大侠们指点!
m_rDb.Open("Data Source=dd;UID=sa;PWD=;");
CString abc;
abc.Format("EXEC sp_dboption 'wisdom','single user','true'");
m_rDb.Execute(abc);只运行这一句都出错,为什么? 这句放入查询分析器中可以正常运行的。
m_rDb.Open("Data Source=dd;UID=sa;PWD=;");
CString abc;
abc.Format("EXEC sp_dboption 'wisdom','single user','true'");
m_rDb.Execute(abc);
在查询分析器中完美运行通过
是不是abc.format这句有什么问题?
m_rDb.Open("DSN=dd;UID=sa;PWD=;");
m_rDb.ExecuteSQL(abc); //改成ExecuteSQL
最后一个参数应该是1或0吧?你先写一个不带参数的存储过程试试。