vc ²Ù×÷oracle ÓôÃÆ°¡
C/C++ code:
try
{
m_ADOConn.CreateInstance(__uuidof(Connection));
CString connstr="Provider=OraOLEDB.Oracle.1;User ID=KNS;Password=KNS;Data Source=OKDC;";//oracle
m_ADOConn->Open( _bstr_t(connstr),"","", adModeUnknown);//Á¬½Ó³É¹¦
m_pADOSet.CreateInstance(__uuidof(Recordset));
this->m_bConnSuccess=true;
return true;
}
// Catch Exceptions
catch(_com_error &e)
{
CString err;
err.Format("%s", (char*)(e.Description()) );
//AfxMessageBox(err);
this->m_bConnSuccess=false;//Öóɹ¦±ê־Ϊ¼Ù
return false;
}
CString strSQL = "select testvc.aa from testvc";
if ( m_ADOConn->State == adStateOpen)
m_ADOConn->Close();
try
{
m_ADOConn->Open(strSQL, m_ADOConn.GetInterfacePtr(), adOpenDynamic, adLockOptimistic, adCmdText);
return TRUE;
}
catch(_com_error &e)
{
CString err;
err.Format("ADO Error: %s",(char*)e.Description());
AfxMessageBox(err);
return FALSE;
}
ĿǰµÄÎÊÌâÊÇÁ¬½Ó¿ÉÒԳɹ¦ µ«ÊÇÖ´ÐвéѯµÄʱºòÅ׳öÒì³£
"ADO Error: ROW-00054: ????? O/S-Error: (OS 126) ????????c"<
Ïà¹ØÎÊ´ð£º
ÔÚϵͳÔËÐеÄʱºò×ÜÊÇÓÐÒ»¿é´ÅÅÌʼÖÕÉÁºìµÆ£¬½øÈëϵͳºó
#topas²é¿´×ÜÊÇÓÐÒ»¿é´ÅÅÌ%BUSYΪ90%ÒÔÉÏ£¬
Êý¾Ý¿â°æ±¾£ºoracle 9.2.0.7
Êý¾ÝÎļþ¹ÒÔØµÄ½Úµã£º/oradata/pcs/ Âß¼¾íºÅlv04
#lslv -l lv04
......
СµÜ£¬×î½üҪתÐÐÈ¥×öoracle¿ª·¢ÁË£¬ÓÉÓÚ´óѧ±Ïҵʱ£¬×ßÁ˸öÍä·£¬ÏÖÔÚºÜСÐÄ£¬ÎÊÏ£¬×öPL/SQLÓÐûÓÐǰ;£¿£¿£¿
µ±È»ÎÒ˵µÄÕâ¸öǰ;ÊÇÖ¸ ÒÔºóÒªÌø²Û£¬Êг¡¶ÔÕâÑùµÄÈ˲ŵÄÐèÇóÁ¿´ó²»´ó£¿£¿
3q ÄÇ¿´À´»¹Ö»ÄÜÏȽӴ ......
¼ÙÉètable01 ÖÐÓÐ ÒÔÏÂ×ÊÁÏ
emp_no emp_name
------- ------------
0001 TOM
0002 JOHN
0003 MARY
³£Óõ绰
¶øÎÒÃÇÒªµÃµ½ÒÔϵÄOUTPUT (»òÊǸ÷ÖÖÆäËûµÄoutput)
0001,TOM
0002,JOHN
......
Õâ¸öSQLÓï¾äÔõôд?
ÏÖÔÚÓÐÒ»¸ö±íT,ÀïÃæ¾Í3¸ö×Ö¶Î
ѧÉúID(sid)¿Î³Ì(cName)³É¼¨(score)
1 1 75
2 2 90
3 2 60
4 3 89
5 3 80
6 3 70
ÎÒÏÖÔÚÏëÖªµÀµÃµ½µÄ½á¹ûÊÇ:ÿÃſγÌÅÅÔÚǰÁ½ÃûµÄѧÉúµÄID,Ó¦¸ÃÔõÃ´Ð´ÄØ?
......