我的laravel 4应用程序正在从MSSQL 2012服务器检索数据。它在Windows上工作正常但在CentOS上部署我遇到以下错误:
下一个异常'Illuminate \ Database \ QueryException',消息'SQLSTATE [HY000]:常规错误:4004常规SQL Server错误:检查来自SQL Server [4004]的消息(严重级16)[(null)]
检查MSSQL错误映射,确切错误是:
无法使用DB-Library(z.B. isql)或ODBC 3.7或更早版本的用户使用仅限Unicode的归类或ntext数据中的Unicode数据发送给客户端。
谷歌搜索后,我发现唯一的东西是freetds版本太低,我在etc / freetds.conf中将它从4.2更改为7.0 - 没有任何变化。请告知这里可能出现的问题。
答案 0 :(得分:0)
快速搜索并找到了更多可以做的事情:
In /etc/freetds/freetds.conf add these two lines (last two):
[global]
;tds version = 4.2
tds version = 8.0
client charset = UTF-8
You can edit "charset" in php.ini too (but you don't need if you did it previously in freetds.conf):
;Specify client character set..
;If empty or not set the client charset from freetds.comf is used
;This is only used when compiled with FreeTDS
mssql.charset = "UTF-8"
希望这有效。
答案 1 :(得分:0)
就像你引用的那样:
无法发送仅限Unicode的归类或ntext数据中的Unicode数据 使用DB-Library(z.B.isql)或ODBC版本3.7或的客户端 早期使用。
因此,您需要升级browser.div( :class => 'search_data_outer_div').div( :class => 'image_area').links.first.click
驱动程序而非 ODBC
,在您的情况下,您可能需要考虑升级freetds
。