这是我的问题:我有一个运行在Windows服务器上的PHP 5网站(具体是5.2.5版本),它使用MSSQL 2005数据库获取数据。我使用最新版本的ADODB框架访问数据库。我有一张表,其中包含唯一ID和文本字段。这一切都很好,直到文本字段达到某个特定大小(尚未确定确切的截止点)。
当我试图从大约500万个字符长的数据库中检索字符串时,就会出现问题。如果我通过SQL Management Studio进行检索,则可以正常工作并返回所有数据。
当通过PHP运行查询时,SQL服务器没有返回任何错误消息,但也没有返回任何实际数据。
我已经尝试过一些常见方法,例如增加mssql.textlimit和textsize配置选项,如下所示:
当我试图从大约500万个字符长的数据库中检索字符串时,就会出现问题。如果我通过SQL Management Studio进行检索,则可以正常工作并返回所有数据。
当通过PHP运行查询时,SQL服务器没有返回任何错误消息,但也没有返回任何实际数据。
我已经尝试过一些常见方法,例如增加mssql.textlimit和textsize配置选项,如下所示:
ini_set("mssql.textlimit",2147483647 );
ini_set("mssql.textsize",2147483647 );
我还尝试发送了一个“set textsize 2147483647”的查询,但没有变化。
如果我对数据进行子字符串处理,理论上可以将其全部拼凑在一起,但是子字符串返回的是 varchar 类型,最多只能显示 8000 个字符,因此需要大约 875 次查询才能获取全部内容,这不是一个好主意。
有人有什么想法吗?