2012-01-02 2 views
0

Я использую gems tiny_tds и activerecord-sqlserver-адаптер для подключения к удаленной базе данных sqlserver. Я работаю локально, но когда я развертываю в heroku, я получаю следующую ошибку.Ошибка tiny_tds при подключении heroku к SqlServer db

ActiveRecord :: StatementInvalid: TinyTds :: Ошибка: данные Unicode в данных сравнения или только в Unicode не могут быть отправлены клиентам с использованием DB-библиотеки (например, ISQL) или ODBC версии 3.7 или более ранней.

Нужна ли настройка на героку, чтобы заставить это работать?

+0

Вы пытаетесь отправить символы Unicode на свой SQL Server? Пробовали ли вы использовать более дружественную кодировку, такую ​​как ASCII, чтобы убедиться, что это работает? –

+0

Я просто делаю TableName.first, и я получаю эту ошибку. Когда я запускаю его локально и изменяю файл database.yml, чтобы указать на тот же db, он отлично работает. – Scott

+0

@Scott: Как вам удалось заставить tiny_tds работать с Heroku? Вы используете кедровый стек? Большое спасибо ... –

ответ

0

После долгих разрывов и проб и ошибок первопричина происходит из столбцов ntext (max) и nvarchar (max). После того, как столбцы были изменены на varchar, это сработало.

Если вам когда-либо понадобится знать разницу, это значит, что nvarchar занимает в два раза больше пространства varchar, потому что он позволяет использовать символы, не относящиеся к английскому Unicode. В основном вам это нужно, только если вы будете хранить данные на других языках.

Смежные вопросы