heroku连接到SqlServer的tiny_tds错误db

问题描述:

我正在使用tiny_tds和activerecord-sqlserver-adapter gems连接到远程sqlserver数据库。我在本地工作,但是当我部署到heroku时,出现以下错误。heroku连接到SqlServer的tiny_tds错误db

ActiveRecord :: StatementInvalid:TinyTds ::错误:Unicode编码或ntext数据中的Unicode数据无法发送到使用DB-Library(如ISQL)或ODBC版本3.7或更低版​​本的客户端。

是否需要安装heroku才能使其工作?

+0

您是否试图将Unicode字符发送到您的SQL Server?你有没有试过强制执行一个友好的编码,如ASCII,看看是否有效? – 2012-01-02 23:24:31

+0

我只是在做TableName.first,并且我得到了那个错误。当我在本地运行它并更改我的database.yml文件以指向相同的数据库时,它工作正常。 – Scott 2012-01-03 13:15:55

+0

@Scott:你是如何设法使用Heroku的tiny_tds?你在使用Cedar Stack吗?非常感谢... – 2012-04-10 09:14:32

经过数小时的挖掘和反复试验,根本原因来自ntext(max)和nvarchar(max)列。一旦列更改为varchar它的工作。

如果您需要知道区别,那就是nvarchar占用了varchar空间的两倍,因为它允许使用非英文Unicode字符。如果您将以其他语言存储数据,您基本上只需要这个。