Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过mssql_在PHP中从远程服务器检索长度超过65536个字符的xml字符串_Php_Sql Server_Xml - Fatal编程技术网

通过mssql_在PHP中从远程服务器检索长度超过65536个字符的xml字符串

通过mssql_在PHP中从远程服务器检索长度超过65536个字符的xml字符串,php,sql-server,xml,Php,Sql Server,Xml,我正在一台linux服务器(OPENSuSE//Apache2//PHP5)上工作,该服务器连接到Windows服务器上的MSSQL数据库,并执行一个存储过程来检索xml字符串,该字符串作为数组的一部分传递回linux服务器 这在很大程度上是可行的,但我现在看到一行或两行xml长度超过65536个字符的问题-它们似乎被缩减了-这是一个可以在php.ini中修复的问题,还是mssql服务器设置的问题 我可能没有提供足够的信息,所以请询问,我会尽我所能提供 谢谢与其将值存储为文本,不如将它们存储为b

我正在一台linux服务器(OPENSuSE//Apache2//PHP5)上工作,该服务器连接到Windows服务器上的MSSQL数据库,并执行一个存储过程来检索xml字符串,该字符串作为数组的一部分传递回linux服务器

这在很大程度上是可行的,但我现在看到一行或两行xml长度超过65536个字符的问题-它们似乎被缩减了-这是一个可以在php.ini中修复的问题,还是mssql服务器设置的问题

我可能没有提供足够的信息,所以请询问,我会尽我所能提供


谢谢

与其将值存储为文本,不如将它们存储为blob(或其他二进制格式),然后先压缩它们(http://us3.php.net/manual/en/function.gzcompress.php)


blob没有最大长度,因此您不会遇到问题,您可以通过压缩数据来来回保存。

或者只存储XML文件。。。作为一个文件!我通常反对将类似文件的数据存储在数据库中,但它确实提供了以原子方式处理事务的机会,并且让您只需要一个备份点而不是多个备份点。对于另一个数据库的模式,没有任何选项—它已经存在多年,并且对它们有效,就是这样。我的问题更多的是关于是否有任何东西会限制PHP端的字符串长度——即PHP会将数组值结束在特定的字符数,还是SP的输出?PHP可以处理任意长度的字符串。没有内置限制(尽管您可能会在某个时候遇到内存限制)。我在构建XGUI时遇到了类似的问题,在XGUI中,我将序列化的性能数据存储在数据库中,达到了64k行限制,数据被截断。我在发送之前进行了压缩,事情变得好多了。