MS SQL Server上的ODBC查询仅在PHP PDO(FreeTDS)中返回前255个字符

前端之家收集整理的这篇文章主要介绍了MS SQL Server上的ODBC查询仅在PHP PDO(FreeTDS)中返回前255个字符前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我目前正在尝试从sql Server数据库视图中提取一些数据,我们已经限制从Linux Web服务器访问.

我们不需要编辑数据只是在网页中显示它.

在我们尝试输出并且只获取文本字段的前255个字符之前,这一切看起来都很好.

有谁知道这是通过PHP :: PDO使用FreeTDS是否有问题,或者它是否应该正常工作?我见过其他人有类似的问题,但似乎没有很多答案.

我正在使用它作为MS sql db的连接字符串:

$dbConn = new PDO("odbc:Driver=FreeTDS;DSN=OURDSN;UID=WWWUser;PWD=ourpassword");

解决方法

根据 FreeTDS User Guide,问题似乎是FreeTDS在与sql Server交谈时只能处理最多255个字符的varchar“由于协议定义中固有的限制”.任何大于此的东西都需要是数据类型文本.

您可以通过相应地修改架构或在查询期间转换数据类型来解决此问题,如下所示:

SELECT CAST(mycol as TEXT) FROM mytable

猜你在找的MsSQL相关文章