读书人

ADO连接ORCALE出现连接异常

发布时间: 2012-12-24 10:43:13 作者: rapoo

ADO连接ORCALE出现连接错误
点击右边红色标题查看本文完整版:ADO连接ORCALE出现连接错误

ADO连接ORCALE出现连接错误:

CoInitialize(NULL);
try
{
m_pConnection.CreateInstance(__uuidof(Connection));
m_pRecordset.CreateInstance(__uuidof(Recordset));
}
catch(_com_error e)
{

CString log;
log.Format("数据库打开异常,原因:%s",(char*)e.Description());
MessageBox((LPCTSTR)e.Description(),"数据库打开异常",MB_ICONERROR);
CDialog::EndDialog(-1);
return FALSE;
}
CString log;
CString str="Provider=MSDAORA.1;Password=";//OraOLEDB.Oracle.1
? str+="winnix";
? str+=";Persist Security Info=False;User ID=";
? str+="winnix";
? str+=";Data Source=";
? str+="winnix";
? _RecordsetPtr pRd=NULL;
try
{


if(m_pConnection->GetState()&adStateOpen)
m_pConnection->Close();
m_pConnection->CursorLocation=adUseClient;
m_pConnection->Open((_bstr_t)str,"","",adModeUnknown);
? }
catch(_com_error& e)
{
MessageBox("数据库连接错误" , "错误" , MB_OK|MB_ICONERROR);
log.Format("数据库打开异常,原因:%s",(char*)e.Description());
Addlog(log);
exit(0);
}
? try
? {
if(m_pRecordset->GetState()&adStateOpen) m_pRecordset->Close();
CString sql="WINNIX.T_OPERATOR";
m_pRecordset->Open((_bstr_t)sql,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdTable);//这里打开整个表的时候则不会出现错误..........
m_pRecordset->Close();
? }


try
{
pRd.CreateInstance(__uuidof(Recordset));
if(pRd->GetState()&adStateOpen) pRd->Close();
CString sql;
if(dlg.m_password=="")
{
sql="SELECT * FROM T_OPERATOR WHERE O_ACCOUNT='";
sql+=dlg.m_name;
sql+="' AND O_PASSWD IS NULL AND O_STATUS='0' AND O_TYPE='1'";
}
else
{
sql="SELECT * FROM T_OPERATOR WHERE O_ACCOUNT='";
sql+=dlg.m_name;
sql+="' AND O_PASSWD='";
sql+=dlg.m_password;
sql+="' AND O_STATUS='0' AND O_TYPE='1'";
}
? pRd->Open((_bstr_t)sql,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdTable);//这里用上面的sql选择语句来打开数据库的时候就会出错,报无效的表名的错误.可是我的表还有那些字段明明都在啊!
catch (_com_error& e)
{
log.Format("数据库打开异常,原因:%s",(char*)e.Description());
log+="动作时间:";
log+=CTime::GetCurrentTime().Format("%Y-%m-%d %H:%M:%S\r\n");     

读书人网 >编程

热点推荐