[SQL][C#]Прблема руской строки при добавление в БД.

teonazoi

Пытаюсь добавить в таблицу, запись, одно из полей которой содержит руские буквы. вылетает по эксепшену.
какие настройки и где нужно сделать, чтоб он не ругался.
Язык C#. БД - MS SQL 2005b2.

otvertka07

обычно в таких случаях используют такую конструкцию:
try ...
catch (exception e)
{
info(e.toString;
}

ну и еще в настройках базы есть выбор языка, поставь Cyrillic_AS_CI, как то так называется

teonazoi

Я кажется написал, что проблема в наличии русских букв, в одном из полей.
VS пишит что за эвент был.
Спасибо за совет, просто сейчас не могу посмотреть что за настройки, но мне кажется, что язык стоит Cyrillic.

otvertka07

ну а код ошибки ведь есть, сообщение что, так и говорит чтоли, типа, извините, у вас тут русские буквы, поэтому я пожалуй сделаю throw error("Иннах")

6yrop

вообще, да, в exception-е много чего полезного написано обычно
какой тип у поля таблички?

teonazoi

nchar
тпм пишется что не может преобразовать один тип в другой, если ничего не путаюю

Marikun

Встречался в MS SQL Server 2000 с тем, что при перегоне из таблицы где был char в nchar возникали подобные проблемы. Я от этого избавился тем, что просто сделал везде alter table и заменил nchar на char. В общем MS SQL не очень дружит с комбинациями char и nchar.

6yrop

ты бы всё таки запостил полный exception, там будет видно кто пишет Framework или MSSQL

Dasar

collate какой стоит у Ms SQl?

teonazoi

Все поправил, поставил char, заработало.
Всем спасибо.
Оставить комментарий
Имя или ник:
Комментарий: