PHP读取MSSQLSERVER数据库image字段,突破4096限制

折腾记录
875 0
如果用ODBC的话 .首先需要在PHP 对应php.ini 下 添加 php_odbc.dll
extension=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

https://blog.fxb.cc/47.html
最后更新 2021-09-12
评论 ( 0 )
问:肆 + 叁 = ?
OωO
隐私评论