关于Dcom数据库的三层原理片断

80酷酷网    80kuku.com

  数据|数据库使用ADO数据技术.

编写服务器端数据处理COM组件,将其配置成DCOM服务.

在客户端编写客户程序,向DCOM服务器组件要求获取,修改数据.
直接传送SQL语句,让服务端执行.要传回的数据直接从_RecordsetPtr无连接传回,
如:
STDMETHODIMP CDataServer::FetchRecordsetData(BSTR bstrQuerySQL, IDispatch **pResultRecordSet)
{
if(m_pMainConnection == NULL)
return E_POINTER;

try
{
_RecordsetPtr pRecordset;
pRecordset.CreateInstance (__uuidof(Recordset));
pRecordset->Open (bstrQuerySQL, (IDispatch*)m_pMainConnection, adOpenStatic, adLockOptimistic, adCmdText);
pRecordset->putref_ActiveConnection (NULL);
*pResultRecordSet = (IDispatch*)pRecordset.Detach ();
}
catch(_com_error e)
{
return e.Error ();
}

return S_OK;
//OK
}

编码很简单,但DCOM的配置相当复杂,特别是跨域时涉及安全性问题.



分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: