【发布时间】:2009-09-30 18:01:21
【问题描述】:
这是我的交易:我有一个在 Windows 服务器上运行 PHP 5(特别是 5.2.5)的站点,它正在与 MSSQL 2005 数据库对话以获取其数据。我正在使用最新版本的 ADODB 框架访问数据库。我有一个具有唯一 ID 和文本字段的表。这一切都很好,直到文本字段达到一定大小(还不能确定确切的截止点)
当我尝试从数据库中检索大约 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 个查询才能获得全部数量,这并不是真正的好主意。
有人有什么想法吗? +
【问题讨论】:
-
ADODB 是否截断响应?这就是您要克服的问题吗?
标签: php sql-server