Как исправить проблему с десятичными значениями в драйвере Sybase ODBC с помощью NHibernate? - PullRequest
1 голос
/ 25 мая 2010

В драйвере Sybase ODBC возникла проблема с типом данных decimal.

Например, когда приложение пытается сохранить в базе данных, возникает десятичное значение этой ошибки:

ERROR [22018] [DataDirect][ODBC Sybase Wire Protocol driver][SQL Server]Implicit conversion from datatype 'VARCHAR' to 'DECIMAL' is not allowed.  Use the CONVERT function to run this query.

Та же ошибка возникает при попытке передать десятичный параметр хранимой процедуре.

Как мы можем это исправить, используя NHibernate или Fluent NHibernate?

Спасибо.

Ответы [ 2 ]

1 голос
/ 06 октября 2010

Я не нашел простого решения для этого. Я изменил System.Decimal в XML и POCO на System.Double, и это работает. Я попытался добавить собственные sql-insert и sql-update в xml-файлы с помощью CONVERT, но это не сработало (например, значение 5.15 было изменено на 515).

0 голосов
/ 15 мая 2014

База данных не поддерживает неявное преобразование char, varchar в десятичное. Это имеет то же поведение для JDBC. Пожалуйста, используйте функцию Convert и запустите запрос.

...