PHP读取MSSQLSERVER数据库image字段,突破4096限制
•折腾记录
875
0
如果用ODBC的话 .首先需要在PHP 对应php.ini 下 添加 php_odbc.dllextension=php_odbc.dll
项目环境:php7.3 + sql server 2000
php使用odbc连接access数据库备注字段被截断,为什么会这样呢,因为php默认设置的问题,长字段自动截断,默认设置是4096
打开php.ini 搜[ODBC] 找到
; Handling of LONG fields. Returns number of bytes to variables. 0 means
; passthru.
odbc.defaultlrl = 4096
改为
; Handling of LONG fields. Returns number of bytes to variables. 0 means
; passthru.
odbc.defaultlrl = 409600 不过瘾可以多加几个
重启ok
项目环境:php5.5 + sql server 2008
sql server 2008 表中有一个字段为image类型,存储了附件文件内容。
目的:
用php将该image类型字段读出并保存成文件形式
遇到问题:
该image类型字段读出来长度为4096字节,而数据库中长度远大于4096字节,字段内容被截断。
解决方法:
打开php.ini 修改mssql.textlimit和mssql.textsize的值,此配置用于限制php读取mssql数据库中的text类型、nvachar类型和image类型字段的buffer大小,默认值为4096,我把它改为40960000:
mssql.textlimit = 40960000
mssql.textsize = 40960000