在heroku连接SqlServer db时出现tiny_tds错误



我使用tiny_tds和activerecord-sqlserver-adapter gems连接到远程sqlserver数据库。我让它在本地工作,但当我部署到heroku时,我得到以下错误:

ActiveRecord::StatementInvalid: TinyTds::Error: Unicode-only排序中的Unicode数据或ntext数据无法发送到使用DB-Library(如ISQL)或ODBC 3.7或更早版本的客户端

是否需要在heroku上进行设置才能使其工作?

经过数小时的挖掘和试错,根本原因是来自ntext(max)和nvarchar(max)列。一旦将列更改为varchar,它就可以工作了。

如果您需要知道它们之间的区别,那就是nvarchar占用的空间是varchar的两倍,因为它允许非英语Unicode字符。只有当你要用其他语言存储数据时,你才需要这个

最新更新