Вставка символьной строки в поле Image
Stream - поле типа Image. Преобразование происходит, но русские символы в строке после этого выглядят как кракозябры и ХМЛ не парсится.
Как правильно сделать такой запрос?
Код:
UPDATE dbname.dbo.tblname SET Stream = N'<?xml version="1.0" encoding="utf-8"?>...' WHERE Name = 'WP'
Цитата: SomewherSomehow
Я так понял у вас mssql? Попробуйте:
Кстати, какая версия сервера, если >=2005, то лучше используйте тип xml, а не Image.
Код:
UPDATE dbname.dbo.tblname SET Stream = N'<?xml version="1.0" encoding="utf-8"?>...' WHERE Name = 'WP'
пробовали, не помню дословно текст ошибки, но в общем он говорит, что отказывается пихать NVARCHAR в IMAGE
с удовольствием использовал бы другой способ хранения данных, но изменения в структуру базы вносить не могу, база рассчитана на использование MSSQL 2005-2008
Код:
create table tblname( a image);
insert into tblname values ('sdfsd')
update tblname set a = '<?xml version="1.0" encoding="utf-8"?>русские символы...' collate Cyrillic_General_CI_AS
select convert(varchar(max),SUBSTRING(a,1,100)) from tblname
update tblname set a = '<?xml version="1.0" encoding="utf-8"?>русские символы...' collate Latin1_General_CI_AS
select convert(varchar(max),SUBSTRING(a,1,100)) from tblname
drop table tblname
insert into tblname values ('sdfsd')
update tblname set a = '<?xml version="1.0" encoding="utf-8"?>русские символы...' collate Cyrillic_General_CI_AS
select convert(varchar(max),SUBSTRING(a,1,100)) from tblname
update tblname set a = '<?xml version="1.0" encoding="utf-8"?>русские символы...' collate Latin1_General_CI_AS
select convert(varchar(max),SUBSTRING(a,1,100)) from tblname
drop table tblname
Цитата:
<?xml version="1.0" encoding="utf-8"?>русские символы...
после второго
Цитата:
<?xml version="1.0" encoding="utf-8"?>??????? ???????...