关于Dcom数据库的三层原理片断(原地址:http://search.csdn.net/Expert/topic/567/567846.xml?temp=.01472

使用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的配置相当复杂,特别是跨域时涉及安全性问题.

Published At
Categories with Web编程
Tagged with
comments powered by Disqus