用php使用php_pdo_mssql读mssql2005数据库中一个二进制字段时读出来的数据4096个字节比数据库里4296个字节少,被截断
打开php.ini找到如下行,做了以下修改:
; Valid range 0 - 2147483647. Default = 4096.
; mssql.textlimit = 4096
; Valid range 0 - 2147483647. Default = 4096.
; mssql.textsize = 4096
改为
; Valid range 0 - 2147483647. Default = 4096.
mssql.textlimit = 65536
; Valid range 0 - 2147483647. Default = 4096.
mssql.textsize = 65536
感觉应该没问题了,但结果还是不行!
原来php.ini里的参数是对应php_mssql的,对php_pdo_mssql不起作用,但是php.ini也没有php_pdo_mssql的配置选项;
最后解决办法:
在代码里:SET TEXTSIZE 65536
$pdo = new PDO
("$dbtype:host=$hostname;dbname=$dbname","$username","$passwd");
$pdo->query('SET TEXTSIZE 65536');