用写好的程序,连接数据库,并大量插入数据,结果插入了一定条数后,就出错了。也就是#1040 Too more connections.
同样用google一找,没有找到答案。只好自己解决了。还是查查CodeGear 2007自带的帮助了。没有找到可疑点。
我插入MySQL数据,是通过sql语句实现的,也就是通过insert实现的。
TDB::ExecSQL(const AnsiString & strSQL)
{
TSQLQuery * query = DB->Query;
query->SQL->Clear();
query->SQL->Add(strSQL);
query->ExecSQL(strSQL);
query->Close();
}
就这样,执行一定数量的SQL后,就出了这样的错误。加了query->Close()也不行,查找帮助没有发现特别说明。
后来我查看TSQLConnection方法的时候,发现有一个方法,ExecSQL,我想这个能不能行,于是我就改了一下,结果是
TDB::ExecSQL(const AnsiString & strSQL)
{
Conn->ExecSQL(strSQL,NULL,NULL);
/*TSQLQuery * query = DB->Query;
query->SQL->Clear();
query->SQL->Add(strSQL);
query->ExecSQL(strSQL);
query->Close();*/
}
这样后,问题解决了,希望和我碰到同样问题的兄弟也能照样解决:)