我正在使用ADO访问我的cpp代码中的OLE DB服务器..
int main(int argc, char** argv) {
try {
_ConnectionPtr ConnPtr;
ConnPtr.CreateInstance("ADODB.Connection");
ConnPtr.Open("Provider=ASEOLEDB; Data Source=MYSERVER; User ID=MYID; Password=MYPW");
_RecordsetPtr RecPtr;
RecPtr.CreateInstance("ADODB.Recordset");
ReccPtr = Connptr.execute("BULK INSERT ...");
// .................
// ...bulk insert...
// .................
ConnPtr->Close();
}
catch (_com_error &e) {
}
}
我无法在线找到任何资源如何实现批量插入部分..我已经阅读了有关使用Java的批量插入的帖子,但我无法弄清楚如何完成此操作在C ++ / ADO ..
(http://venzi.wordpress.com/2012/03/31/loading-data-fast-regular-insert-vs-bulk-insert/)
有没有人对此主题有任何建议/资源?
答案 0 :(得分:0)
BULK INSERT T-SQL语句从文件中导入数据。该文件需要本地存储在SQL Server框中,或者可以通过UNC路径访问。请参阅http://msdn.microsoft.com/en-us/library/ms188365.aspx。
要直接从本机代码批量插入,您需要使用IRowsetFasLoad COM接口或ODBC_BCP函数调用。经典ADO没有批量插入方法。如果托管代码是一个选项,则可以使用SqlClient SqlBulkCopy类。