由于数据量大,直接读Access数据库,速度跟不上,则将表读到Sqlite中。
直接从Aceess中读一条,写一条,很慢,6000条数据写了30多分钟。通过sqlite3_prepare_v2方法,稍能提高,但效果不明显。
class DatabaseOperate
{
private:
_ConnectionPtr m_pConnection;
_RecordsetPtr m_pRecordset;
_variant_t var;
_variant_t RecordsAffected;
std::string name[2];
std::string block[2];
public:
int init()
{
CoInitialize(NULL);
m_pConnection.CreateInstance(__uuidof(Connection));
m_pRecordset.CreateInstance(__uuidof(Recordset));
try
{
m_pConnection->Open(getPath().c_str(),"","",adModeUnknown);
return 1;
}
catch(_com_error e)
{
//cout<<"数据库连接失败,确认数据库db1.mdb是否在当前路径下!"<<endl;
return -1;
}
}
int AcsToSql()