@Bombadile

Почему не записывается кириллица в поле типа text MS-SQL?

Есть поле в MS-SQL, кодировка windows-1251, тип text. Через activeRecord добавляется значение поля "адрес" (кириллица), формируется такой запрос:
INSERT INTO [Orders] [Address]) VALUES (0xc8ecff20d4e0ece8ebe8ff20cef2f7e5f1f2e2ee)

Появляется ошибка: "Конфликт типа операндов: varbinary несовместим с text". На типе varchar все норм. Что делать?
  • Вопрос задан
  • 1727 просмотров
Решения вопроса 1
@Bombadile Автор вопроса
У PDO на PHP7 такой баг. Откатились на php5.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 4
@art_karetnikov
Лучший мой проект: Мобильный банк Сбербанка РФ.
использовать правильные типы для хранения данных. если в поле адрес всего-то вон 30 символов на взгляд, на кой делать его text? Текст, вопреки названию, для хранения баааааальшого количества данных предназначен.
Ответ написан
Комментировать
k1lex
@k1lex
Программист торг. сети. C# (WPF, WinForms), T-SQL
Наверное не хватает ковычек.
INSERT INTO [Orders] [Address]) VALUES ('0xc8ecff20d4e0ece8ebe8ff20cef2f7e5f1f2e2ee')

Но я бы на вашем месте не использовал тип TEXT - в новых версиях от него откажутся. Используйте nvarchar(max)
Ответ написан
Комментировать
tsklab
@tsklab Куратор тега SQL Server
Здесь отвечаю на вопросы.
Появляется ошибка: "Конфликт типа операндов: varbinary несовместим с text". На типе varchar все норм. Что делать?

Используйте nvarchar(max)
Более разумно использовать тип varbinary(50) или нужной вам длины.
Ответ написан
Комментировать
yarosroman
@yarosroman
C# the best
для нормальной работы с Unicode используйте nchar и nvarchar.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы