(этот вопрос был первоначально опубликован на другом форуме несколько месяцев назад, без какого-либо ответа ... в это время не было ТАК!)
Мои первые шаги в RoR. Я купил одну из этих книг, рассказывающую о Ruby и Ruby On Rails. Примеры правильно работают на MySQL, поэтому я решил переписать их для MS-SQL как хорошее упражнение (а MS-SQL - наша стандартная база данных) ... и это превратилось в дурной сон:
У меня есть эта таблица с 2 полями
Tbl_People
----------
id_People primary key, newid() default value,
namePeople string
У меня есть соединение ODBC с базой данных. Я могу перечислить записи, но ... я не могу делать какие-либо вставки в таблицу. Строка INSERT, сгенерированная Ruby, выглядит следующим образом:
INSERT INTO Tbl_People (id_People, namePeople) VALUES('newid','GRONDIER, Philippe')
И будет отклонено, поскольку строку 'newid' нельзя вставить в поле uniqueindentifier / primary key id_People
. Логически возвращаемая ошибка:
DBI::DatabaseError: 37000 (8169) [Microsoft] [ODBC SQL Server Driver][SQL Server]Conversion failed when converting from a character string to uniqueidentifier
Кажется, это настолько очевидная большая и основная проблема, что я чувствую, что пропустил что-то, обычно написанное жирным шрифтом в каждом учебном документе RoR, такое как «Не пытайтесь вставлять через RoR», «uniqueIdentifier - от китайского до RoR» «RoR не работает с MS SQL Server» ...
Есть идеи?