asp获取mysql大量数据报错

更新时间:01-27 教程 由 争议 分享

在使用ASP连接MySQL数据库获取大量数据时,可能会遇到以下报错信息:

[MySQL][ODBC 5.3(a) Driver][mysqld-8.0.27]Commands out of sync; you can't run this command now

这是因为在获取MySQL数据时,ASP会将数据存储在缓存中,当数据量过大时,缓存会被占满,从而导致该错误。

解决该问题有如下两种方法:

增加缓存大小

Set conn = Server.CreateObject("ADODB.Connection")conn.ConnectionString = "DRIVER={MySQL ODBC 5.3 Driver}; SERVER=localhost; DATABASE=mydb; UID=myuser; PASSWORD=mypassword; OPTION=3"conn.Openconn.Execute "SET SESSION query_cache_size=268435456;"

通过修改MySQL查询缓存大小,可以增加缓存的空间,从而减少该错误出现的概率。

使用多个连接获取数据

Function GetData()Dim conn, cmd, rsSet conn = Server.CreateObject("ADODB.Connection")conn.ConnectionString = "DRIVER={MySQL ODBC 5.3 Driver}; SERVER=localhost; DATABASE=mydb; UID=myuser; PASSWORD=mypassword; OPTION=3"conn.OpenSet cmd = Server.CreateObject("ADODB.Command")cmd.ActiveConnection = conncmd.CommandText = "SELECT * FROM mytable"Set rs = Server.CreateObject("ADODB.Recordset")rs.CursorLocation = adUseServerrs.Open cmd, , adOpenForwardOnly, adLockReadOnlyDo While Not rs.EOF'处理数据rs.MoveNextLooprs.CloseSet rs = NothingSet cmd = Nothingconn.CloseSet conn = NothingEnd Function

使用多个连接可以将数据分批获取,从而减少缓存被占满的情况出现。

声明:关于《asp获取mysql大量数据报错》以上内容仅供参考,若您的权利被侵害,请联系13825271@qq.com
本文网址:http://www.25820.com/tutorial/14_2262339.html