【发布时间】:2014-02-18 19:09:12
【问题描述】:
我正在尝试让所有表都显示在 Adminer 中,这样我就不必远程进入 Windows Server 来查看表并从我正在使用的 MS SQL DB 中查询。当我单击“选择表名”查看任何表上的数据时出现此错误。你认为我需要做什么来解决这个问题?
! ) 警告:mssql_query(): message: Unicode data in a Unicode-only 无法使用 DB-Library 将排序规则或 ntext 数据发送到客户端 (例如 ISQL)或 ODBC 版本 3.7 或更早版本。 (严重性 16)在 /public_html/main/manage/adminer.php 在第 665 行调用堆栈
Time Memory Function Location 1
0.0257 3534208 {main}( ) ../adminer.php:0 2
0.0719 4047480 fields( ) ../adminer.php:1624 3
0.0719 4048088 get_rows( ) ../adminer.php:724 4
0.0719 4048368 Min_DB->query( ) ../adminer.php:47 5
0.0719 4048464 mssql_query ( ) ../adminer.php:665
在我的 Linux 服务器上,我安装了 mssql、mysql、mysqli、pdo、pdo_dblib 和 pdo_mysql。我可以使用 pdo-dblib 成功地将数据拉取到网页。
编辑:解决方案是将 freetds.conf 中 [global] 中的版本从 4.2 更改为 8.0。这解决了我的问题。
【问题讨论】:
-
当你说
mssql安装了,具体是什么包?免费TDS?如果有,是什么版本?从错误消息中可以清楚地看出,需要使用较新版本的驱动程序。 -
@beargle 有时您只需要另一个人的快速第二意见来引导您朝着正确的方向前进。我正在使用 FreeTDS 8.0 版,但忘记将 freetds.conf 中 [global] 中的版本从 4.2 更改为 8.0。这解决了我的问题。感谢您的宝贵时间。
-
很高兴听到 :) 不要忘记将其作为答案并接受它,以便其他人受益。
标签: php sql-server adminer