powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
19 сообщений из 19, страница 1 из 1
TSQL 2
    #73658
Sad_But_False
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имею непонятную ситуацию:
Инсерт на линкед сервер в поле VARCHAR(MAX) режет значения до 24 символов

тоисть
Код: SQL
1.
2.
3.
INSERT LServer.base.dbo.table
([Field])
SELECT '111122223333aaaasssssddddddfffffff'
происходит без ошибок, но в табле значение 111122223333aaaasssssddd
причём
Код: SQL
1.
2.
UPDATE LServer.base.dbo.table
SET [Field] = '111122223333aaaasssssddddddfffffff'
даёт тот же резалт
но
Код: SQL
1.
2.
UPDATE LServer.base.dbo.table
SET [Field] = CONVERT(VARCHAR(MAX),'111122223333aaaasssssddddddfffffff')
отрабатывает нормально и апдейтит корректно

но
Код: SQL
1.
2.
UPDATE LServer.base.dbo.table
SET [Field] = CONVERT(VARCHAR(MAX) ,(SELECT '111122223333aaaasssssddddddfffffff'))
опять сцуко режет
...
Рейтинг: 0 / 0
TSQL 2
    #74261
Фотография sparrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sad_But_False,

Линкед сервер какой?
Что у него в настройках, что в версиии?
Там оракл?
...
Рейтинг: 0 / 0
TSQL 2
    #74569
Sad_But_False
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
линк обычный на скл
под админом
оба 2008 ры2
ентерпрайз
...
Изменено: 10.02.2017, 23:45 - Sad_But_False
Рейтинг: 0 / 0
TSQL 2
    #74895
Фотография IT-Клоп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иншалла, братия!
إن شاء الله
может там какой-то злоебучй триггер.
...
Рейтинг: 0 / 0
TSQL 2
    #74897
Фотография IT-Клоп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иншалла, братия!
إن شاء الله
и истчо коллейшн
...
Рейтинг: 0 / 0
TSQL 2
    #75032
kmaw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Любовь живет сама
IT-Клоп 
может там какой-то злоебучй триггер.
+
они все злоебучие
...
Рейтинг: 0 / 0
TSQL 2
    #75672
Sad_But_False
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
при чём тут коллатион былоб куд нот резолв
и никаких триггеров
да и не работают так они
спицыализты блять
...
Рейтинг: 0 / 0
TSQL 2
    #75773
Фотография IT-Клоп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иншалла, братия!
إن شاء الله
Sad_But_False 
при чём тут коллатион былоб куд нот резолв
и никаких триггеров
да и не работают так они
спицыализты блять
можно написать триггер, который имитировал бы именно такое поведение, именно с линкед сервера
...
Рейтинг: 0 / 0
TSQL 2
    #76565
Sad_But_False
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IT-Клоп 
можно написать триггер, который имитировал бы именно такое поведение, именно с линкед сервера
ого
росскажыко какой триггер отличит
SET [Field] = CONVERT(VARCHAR(MAX) ,(SELECT '111122223333aaaasssssddddddfffffff'))
от
SET [Field] = CONVERT(VARCHAR(MAX) ,'111122223333aaaasssssddddddfffffff')
...
Рейтинг: 0 / 0
TSQL 2
    #76591
Фотография IT-Клоп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иншалла, братия!
إن شاء الله
Sad_But_False 
IT-Клоп 
можно написать триггер, который имитировал бы именно такое поведение, именно с линкед сервера
ого
росскажыко какой триггер отличит
SET [Field] = CONVERT(VARCHAR(MAX) ,(SELECT '111122223333aaaasssssddddddfffffff'))
от
SET [Field] = CONVERT(VARCHAR(MAX) ,'111122223333aaaasssssddddddfffffff')
inputbuffer проанализировать и всего делов :)
...
Рейтинг: 0 / 0
TSQL 2
    #76599
Sad_But_False
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IT-Клоп 
Sad_But_False 
IT-Клоп 
...
ого
росскажыко какой триггер отличит
SET [Field] = CONVERT(VARCHAR(MAX) ,(SELECT '111122223333aaaasssssddddddfffffff'))
от
SET [Field] = CONVERT(VARCHAR(MAX) ,'111122223333aaaasssssddddddfffffff')
inputbuffer проанализировать и всего делов :)
йа дажы слоф таких низнаю
в любом случае нет там триггеров никаких
...
Рейтинг: 0 / 0
TSQL 2
    #76600
Фотография IT-Клоп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иншалла, братия!
إن شاء الله
Sad_But_False 
IT-Клоп 
Sad_But_False 
...
inputbuffer проанализировать и всего делов :)
йа дажы слоф таких низнаю
в любом случае нет там триггеров никаких
это чистая синтетика и вряд ли у тебя так, но такой злоебучий триггер возможен

create table t_ins1(i int identity primary key, s varchar(200))

insert into t_ins1(s) values('t1')
insert into t_ins1(s) values('t2')
insert into t_ins1(s) values('t3')

create TRIGGER [dbo].[tr_t_ins1_update] ON [dbo].[t_ins1]
instead of update
as
begin

declare @fake int
set @fake = 0

create table #dbcc (etype sysname, params sysname, eventinfo varchar(max))
insert into #dbcc exec ('dbcc inputbuffer (@@spid)')

if exists(select 1 from #dbcc where upper(eventinfo) like '%SELECT%')
set @fake = 1

drop table #dbcc

UPDATE n3 SET s =
case
when @fake = 0 then n2.s
else substring(n2.s, 1, 24)
end
FROM t_ins1 AS n3
INNER JOIN inserted AS n2 ON n2.i = n3.i

end

select * from t_ins1
update t_ins1 set s=(SELECT '111122223333aaaasssssddddddfffffff') where i=1
update t_ins1 set s='111122223333aaaasssssddddddfffffff' where i=1
...
Изменено: 13.02.2017, 12:27 - IT-Клоп
Рейтинг: 0 / 0
TSQL 2
    #76601
Фотография IT-Клоп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иншалла, братия!
إن شاء الله
писец у деды теги кривые
...
Рейтинг: 0 / 0
TSQL 2
    #76622
Sad_But_False
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
будим знать, спасиба.
предумал куда этот инпутбуфер прикрутить ещо
...
Рейтинг: 0 / 0
TSQL 2
    #76624
Sad_But_False
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
па сабжу кстати мысле кончелись
...
Рейтинг: 0 / 0
TSQL 2
    #76635
Фотография IT-Клоп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иншалла, братия!
إن شاء الله
Sad_But_False 
па сабжу кстати мысле кончелись
а если не VARCHAR(MAX), а варчар скока-то - то тоже будет резать?
...
Рейтинг: 0 / 0
TSQL 2
    #76656
Sad_But_False
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IT-Клоп 
Sad_But_False 
па сабжу кстати мысле кончелись
а если не VARCHAR(MAX), а варчар скока-то - то тоже будет резать?
поменял на nvarcharmax
работает
понять бы что это было ищо
породокс в том что рядом 2 сервака стоят (тестовые)
там всё работало изначально нормально
грешу всёж на кривой коллэйшн линкованого серовака
ибо больше разницы обна ружить неудалось
патом ищо паганяю потестю, мож допру до чего
...
Рейтинг: 0 / 0
TSQL 2
    #77116
Фотография sparrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sad_But_False 
IT-Клоп 
Sad_But_False 
...
а если не VARCHAR(MAX), а варчар скока-то - то тоже будет резать?
поменял на nvarcharmax
работает
понять бы что это было ищо
породокс в том что рядом 2 сервака стоят (тестовые)
там всё работало изначально нормально
грешу всёж на кривой коллэйшн линкованого серовака
ибо больше разницы обна ружить неудалось
патом ищо паганяю потестю, мож допру до чего
Значит где-то разные кодовые страницы и параметры сортировки. В базе модель. Или мастер. Или пользовательских
...
Рейтинг: 0 / 0
TSQL 2
    #77122
Фотография sparrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не помню , данные типа varchar(max), наверно на самом деле не в базах хранятся, а в файлах виндовс. Надо разници в виндах искать. В их настройках. Но все равно плохо.
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]