тип данных столбца возвращаемого select

leov
Дата: 30.01.2013 02:47:09
Здравствуйте.

столкнулся со странным эффектом и не понимаю как поступить
ранее работал через odbc и применял постую конструкцию
select 'bla-bla' + field as TEXT from tab
на клиенте получал string и отображал без проблем и ограничений длинны
(подумал что вероятно ранее я умещался в 8000 varchar)
тут вот на jdbc попытался перейти и вылезло ограничение
что иногда возвращаемое поле интерпретируется как nvarchar
и соответственно обрезается до 4000 знаков
причем без всяких сообщений, хотя вроде должно было бы ругнуться

хотелось бы понять чем определяется какого типа столбец будет возвращен
если явно ничего не прописывалось
подобного рода кода очень много так что желательно бы что-то типа глобальной настройки

спасибо.
Ruuu
Дата: 30.01.2013 04:27:25
leov,

SQL Server тут не при чем, это проблемы драйвера.
aleks2
Дата: 30.01.2013 06:03:44
leov
select 'bla-bla' + field as TEXT from tab
если явно ничего не прописывалось


'bla-bla' - ЯВНО написано varchar(n)

'bla-bla' + field - будет приведено к nvarchar, если тип field - nvarchar.

ЗЫ. А ваще, не ленись явно писать CAST('bla-bla' + field as ...) и будет те щастье.
leov
Дата: 30.01.2013 07:59:57
aleks2
leov
select 'bla-bla' + field as TEXT from tab
если явно ничего не прописывалось


'bla-bla' - ЯВНО написано varchar(n)

'bla-bla' + field - будет приведено к nvarchar, если тип field - nvarchar.

ЗЫ. А ваще, не ленись явно писать CAST('bla-bla' + field as ...) и будет те щастье.
ну у меня в общем все поля используемые вот так или varchar или явно к varchar приведены
а вот с jdbc полезло что почемуто стало nvarchar
хреново если придется все перерабатывать
aleks2
Дата: 30.01.2013 09:42:48
leov
а вот с jdbc полезло что почемуто стало nvarchar
хреново если придется все перерабатывать

Сказочник.
Anatoly Podgoretsky
Дата: 30.01.2013 10:29:09
Не бросайся на сладкое, OLE DB наше все
leov
Дата: 30.01.2013 10:44:14
вот такое в connection properties вылечило все nvarchar
sendStringParametersAsUnicode=false

тема закрыта
спасибо
aleks2
Дата: 30.01.2013 10:47:44
leov
вот такое в connection properties вылечило все nvarchar
sendStringParametersAsUnicode=false

тема закрыта
спасибо

Вот дурак, от свово щастья отказывается.