我有一个简单的Perl脚本,通过freetds连接到MS SQL Server 10.50。它运行单个查询,类似于SELECT name FROM table
。该表有大约15000条记录。我做prepare-execute(没有绑定)-fetch(在while循环中)。准备,执行传递OK,获取大约300条记录的循环然后挂起并最终返回“从服务器读取失败”。详情:
DBD::Sybase::st fetchrow_array failed: OpenClient message: LAYER = (0) ORIGIN = (0) SEVERITY = (78) NUMBER = (36)
Server ....., database ...
Message String: Read from the server failed
freetds.conf将“tds version”设置为4.2。当我尝试使用7.0,7.1或7.2时,脚本甚至没有超过“执行”步骤。
如果我更改查询以限制SELECT TOP 200 name FROM table
之类的结果,则表示完好无损。
有没有人见过这样的东西?