加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

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

发布时间:2020-12-12 16:24:18 所属栏目:MsSql教程 来源:网络整理
导读:我目前正在尝试从SQL Server数据库视图中提取一些数据,我们已经限制从Linux Web服务器访问. 我们不需要编辑数据只是在网页中显示它. 在我们尝试输出并且只获取文本字段的前255个字符之前,这一切看起来都很好. 有谁知道这是通过PHP :: PDO使用FreeTDS是否有问
我目前正在尝试从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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读