我现在是想在 Oracle中建库,用组件连接。我用SQL Server的可以连接上,用Oracle 的就连接不上,请教高手送分如下,我在 ODBC中建了两个数据源  
           一个是:SQLServer的 DSN=MsSql  ;User ID=sa
         另一个是: Oracle 的  DSN =BXZJJ ; User ID=bxzjj;PWD = bxzjj   
//**************************************************************
//创建并打开一个ADO连接
//输入:ppadoConection Ado Connection 对象指针的指针
//输出:如果创建且打开Ado connection 成功,则返回该指针
//返回: HRESULT类型 S_OK 成功,E_FAIL 失败
//**************************************************************
HRESULT OpenConnection(LPDISPATCH* ppadoConnection_out)
{
HRESULT    hr;
BSTR    bstrDSN;
_ConnectionPtr padoConnection;
WCHAR    wszDSNBuffer[50]; hr = padoConnection.CreateInstance(__uuidof(Connection));
if (FAILED(hr)) 
return hr; if (FAILED(hr = padoConnection->put_CursorLocation(adUseClient)))
return hr; //use Kagera
memset((void*)wszDSNBuffer,0,sizeof(wszDSNBuffer)); //swprintf(wszDSNBuffer,L"DSN=MSSQL;UID=sa;PWD="); /*用SQLServer*/
swprintf(wszDSNBuffer,L"DSN=YLBXZJJ;UID=ylbxzjj;PWD=ylbxzjj");/*用Oracle*/
bstrDSN = ::SysAllocString(wszDSNBuffer); //hr = padoConnection->Open("MSSQL","sa","",-1); /*用SQLServer*/
hr = padoConnection->Open("YLBXZJJ","ylbxzjj","ylbxzjj",-1); ");/*用Oracle*/ ::SysFreeString( bstrDSN );
if (FAILED(hr)) 
return hr; padoConnection->QueryInterface(IID_IDispatch,(void **)ppadoConnection_out); return S_OK;
}