小弟,在VC中通过ADO的SAVE()方法把表中的记录保存为XML了,现在问题是,想把导入出来XML文件又导入到ADO记录集中(或者说是把XML文件在VC中能通过ADO导入到数据库表中去).
在网上看到这样一段代码如下:
/***********************************************************************
我导出记录集到xml的方法如下
CString SQL;
SQL.Format("select * from %s %s", sTab, sWhere); try
{
_RecordsetPtr pRes;
pRes.CreateInstance(__uuidof(Recordset));
pRes->Open(_bstr_t(SQL), m_pCon.GetInterfacePtr(), adOpenDynamic,
adLockBatchOptimistic, adCmdText);
// For sake of illustration, save the Recordset to a diskette
// in XML format.
CString sFile = m_sExpFloder + sTab + ".xml";
pRes->Save((LPCTSTR)sFile, adPersistXML);
}
catch (_com_error &e)
{
m_pMsg.ShowMsg("********************导出异常************************", TRUE);
sMsg.Format("错误源:%s\r\n描述:%s\r\n导出失败!",
(LPCTSTR)e.Source(), (LPCTSTR)e.Description());
m_pMsg.ShowMsg(sMsg);
m_pMsg.ShowMsg("****************************************************");
}
导入记录集然后导入数据库的方法: pCon->BeginTrans();//pCon Active connection
HRESULT hr;
_RecordsetPtr pRes;
hr = pRes.CreateInstance(__uuidof(Recordset));
if (SUCCEEDED(hr))
hr = pRes->Open(_bstr_t(sPath), "Provider=MSPersist;", adOpenForwardOnly,
adLockBatchOptimistic, adCmdFile);
if (SUCCEEDED(hr))
pRes->PutActiveConnection(_variant_t((IDispatch *)pCon));// PutRefActiveConnection(pCon); hr = pRes->UpdateBatch(adAffectAll);
if (SUCCEEDED(hr))
pCon->CommitTrans();
else
return FALSE; 代码是支持sql server的因为是参照sql server的方法写的
为什么数据没有导入到oracle数据库?
需要说明的是目标数据库中的表没有任何数据,上面的代码执行没有任何问题
是不是oracle不支持xml到ADO记录集然后再导入数据库的方法?
/***********************************************************************
/
作者说,操作没有成功能,那怎么做才能,能过ADO把XML导入到数据库中去呢?
送分谢谢!~各位
在线等待很急!
在网上看到这样一段代码如下:
/***********************************************************************
我导出记录集到xml的方法如下
CString SQL;
SQL.Format("select * from %s %s", sTab, sWhere); try
{
_RecordsetPtr pRes;
pRes.CreateInstance(__uuidof(Recordset));
pRes->Open(_bstr_t(SQL), m_pCon.GetInterfacePtr(), adOpenDynamic,
adLockBatchOptimistic, adCmdText);
// For sake of illustration, save the Recordset to a diskette
// in XML format.
CString sFile = m_sExpFloder + sTab + ".xml";
pRes->Save((LPCTSTR)sFile, adPersistXML);
}
catch (_com_error &e)
{
m_pMsg.ShowMsg("********************导出异常************************", TRUE);
sMsg.Format("错误源:%s\r\n描述:%s\r\n导出失败!",
(LPCTSTR)e.Source(), (LPCTSTR)e.Description());
m_pMsg.ShowMsg(sMsg);
m_pMsg.ShowMsg("****************************************************");
}
导入记录集然后导入数据库的方法: pCon->BeginTrans();//pCon Active connection
HRESULT hr;
_RecordsetPtr pRes;
hr = pRes.CreateInstance(__uuidof(Recordset));
if (SUCCEEDED(hr))
hr = pRes->Open(_bstr_t(sPath), "Provider=MSPersist;", adOpenForwardOnly,
adLockBatchOptimistic, adCmdFile);
if (SUCCEEDED(hr))
pRes->PutActiveConnection(_variant_t((IDispatch *)pCon));// PutRefActiveConnection(pCon); hr = pRes->UpdateBatch(adAffectAll);
if (SUCCEEDED(hr))
pCon->CommitTrans();
else
return FALSE; 代码是支持sql server的因为是参照sql server的方法写的
为什么数据没有导入到oracle数据库?
需要说明的是目标数据库中的表没有任何数据,上面的代码执行没有任何问题
是不是oracle不支持xml到ADO记录集然后再导入数据库的方法?
/***********************************************************************
/
作者说,操作没有成功能,那怎么做才能,能过ADO把XML导入到数据库中去呢?
送分谢谢!~各位
在线等待很急!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货