Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 bug или фича? ( открывать ли Support-Ticket на "металинке"? )  [new]
DBAshnik
Member

Откуда:
Сообщений: 402
Есть db-линк с оракла на ms-sql через (покупной) gataway! Запрос 1. и 3. возвращает строки. Запрос 2. ничего. (cм. аттач!)

Вообщем ситуация мне уже достаточно ясная. В случае запросов 2. и 3. Gateway отсылает этот дело (cравнение) на MsSQL cервер, там length() пробразуется в мелкомягковский LEN() (c байтовой семантикой). Показывает же (в Select-Clausel) length() в char-семантике (ибо настройка у нас HS_NLS_LENGTH_SEMANTICS=CHAR ). Правильно я понимаю?
Но всё равно жлобство, ИМХО! (т.к. одна и та же(!!!) функция length() в одном и том же(!!!) sql-запросе ведёт себя по разному) (ну ладно я ДБА, но простым юзверям ("не знающим слов любви", таких как SEMANTICS), сие рвёт крышу, разумеется! :-)
Чтоб вы сделали на моём месте? Открыли бы на металинке ticket (с метамесаджем "ну и гадость эта ваша заливная рыба" ( = Gateway ) :-) ) или забить, ибо только потеря времени?

К сообщению приложен файл. Размер - 68Kb
17 дек 19, 17:14    [22042367]     Ответить | Цитировать Сообщить модератору
 Re: bug или фича? ( открывать ли Support-Ticket на "металинке"? )  [new]
-2-
Member

Откуда:
Сообщений: 15330
DBAshnik
Правильно я понимаю?
Нет. length существует с незапамятных до семантик времен. char/byte вопрос декларативного ограничения.
17 дек 19, 17:21    [22042381]     Ответить | Цитировать Сообщить модератору
 Re: bug или фича? ( открывать ли Support-Ticket на "металинке"? )  [new]
DBAshnik
Member

Откуда:
Сообщений: 402
-2-
DBAshnik
Правильно я понимаю?
Нет. length существует с незапамятных до семантик времен. char/byte вопрос декларативного ограничения.


sorry, тогда я Вас не очень понимаю, похоже...

И даже не уверен, что Вы правильно видете ситуацию... (Вы согласны с тем, что передавая cравнение на MsSQL Gateway допускает этим самым там конвертацию в LEN()? Или что по Вашему происходит там во "внутрях"?)
17 дек 19, 17:31    [22042396]     Ответить | Цитировать Сообщить модератору
 Re: bug или фича? ( открывать ли Support-Ticket на "металинке"? )  [new]
DBAshnik
Member

Откуда:
Сообщений: 402
P.S. кстати ровно те же таблицы и данные у нас существуют в другой удалённой базе - уже на Оракл! Надо ли говорить что при варианте dblink-а "Оracle-to-Oracle" такой фигни не происходит! ;-)
17 дек 19, 17:33    [22042400]     Ответить | Цитировать Сообщить модератору
 Re: bug или фича? ( открывать ли Support-Ticket на "металинке"? )  [new]
SQL*Plus
Member

Откуда: Россия, Москва
Сообщений: 8131
DBAshnik,

Открывайте SR на сайте MOS.

Деньги уплачены, пусть работают.
17 дек 19, 17:38    [22042406]     Ответить | Цитировать Сообщить модератору
 Re: bug или фича? ( открывать ли Support-Ticket на "металинке"? )  [new]
Leonid Kudryavtsev
Member

Откуда:
Сообщений: 9256
Смотрю в документацию микрософт (на русском) и вижу

MSDN
LEN (Transact-SQL)

Возвращает количество символов указанного строкового выражения, исключая конечные пробелы.

Примечание

Получить число байтов, используемых для представления выражения, можно с помощью функции DATALENGTH.


откуда взялось "в мелкомягковский LEN() (c байтовой семантикой)" совершенно не понятно
17 дек 19, 17:42    [22042414]     Ответить | Цитировать Сообщить модератору
 Re: bug или фича? ( открывать ли Support-Ticket на "металинке"? )  [new]
Stax
Member

Откуда: Ukraine,Lviv
Сообщений: 2795
DBAshnik

но простым юзверям ("не знающим слов любви", таких как SEMANTICS), сие рвёт крышу,

імхо
length(code) в select и во where должны возвращать одинаковые значение
два нюанса
1) кто виноват оракля или мс
2) баг или фича

насколько я слышал gataway не дешевый

Открывайте на металинке ticket, даже шоб знать что отвечать "не знающим слов любви"

.....
stax
17 дек 19, 17:47    [22042416]     Ответить | Цитировать Сообщить модератору
 Re: bug или фича? ( открывать ли Support-Ticket на "металинке"? )  [new]
DBAshnik
Member

Откуда:
Сообщений: 402
Stax
length(code) в select и во where должны возвращать одинаковые значение
.....
stax


угу, вот и я так думаю! ;-)


Спасибо за Ваши мнения, вот я и склоняюсь, что раз деньги уплачены, то пусть потрудятся (хотя бы с разьяснениями!)

Кто считает по другому, уважаемые? :-)
17 дек 19, 17:58    [22042434]     Ответить | Цитировать Сообщить модератору
 Re: bug или фича? ( открывать ли Support-Ticket на "металинке"? )  [new]
DBAshnik
Member

Откуда:
Сообщений: 402
Leonid Kudryavtsev
Смотрю в документацию микрософт (на русском) и вижу

MSDN
LEN (Transact-SQL)

Возвращает количество символов указанного строкового выражения, исключая конечные пробелы.

Примечание

Получить число байтов, используемых для представления выражения, можно с помощью функции DATALENGTH.


откуда взялось "в мелкомягковский LEN() (c байтовой семантикой)" совершенно не понятно


ну или наоборот стало быть: там это дело в DATALENGTH конвертится. Один хрен, имеем противоречивый результат на выходе.
17 дек 19, 18:00    [22042437]     Ответить | Цитировать Сообщить модератору
 Re: bug или фича? ( открывать ли Support-Ticket на "металинке"? )  [new]
Leonid Kudryavtsev
Member

Откуда:
Сообщений: 9256
DBAshnik

ну или наоборот стало быть....

ну или имеем "падеж падежей" codepage в базах данных
17 дек 19, 18:03    [22042440]     Ответить | Цитировать Сообщить модератору
 Re: bug или фича? ( открывать ли Support-Ticket на "металинке"? )  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 51787

DBAshnik
ну или наоборот стало быть: там это дело в DATALENGTH конвертится.

У вас там что, нет человека, способного запустить Profiler и точно посмотреть какой именно
запрос приходит на MS SQL?

Posted via ActualForum NNTP Server 1.5

17 дек 19, 18:44    [22042479]     Ответить | Цитировать Сообщить модератору
 Re: bug или фича? ( открывать ли Support-Ticket на "металинке"? )  [new]
SY
Member

Откуда: Middlebury, CT USA
Сообщений: 10051
DBAshnik
ну или наоборот стало быть: там это дело в DATALENGTH конвертится. Один хрен, имеем противоречивый результат на выходе.


Давненько с Gateway работал, но посмотри в сторону HS_KEEP_REMOTE_COLUMN_SIZE.

SY.
17 дек 19, 19:13    [22042500]     Ответить | Цитировать Сообщить модератору
 Re: bug или фича? ( открывать ли Support-Ticket на "металинке"? )  [new]
DBAshnik
Member

Откуда:
Сообщений: 402
SY
DBAshnik
ну или наоборот стало быть: там это дело в DATALENGTH конвертится. Один хрен, имеем противоречивый результат на выходе.


Давненько с Gateway работал, но посмотри в сторону HS_KEEP_REMOTE_COLUMN_SIZE.

SY.


почитал описание HS_KEEP_REMOTE_COLUMN_SIZE. Выглядит весьма в тему, спасибо!

Но сначала всё-же хотим узнать мнение саппорта...
18 дек 19, 13:09    [22043032]     Ответить | Цитировать Сообщить модератору
 Re: bug или фича? ( открывать ли Support-Ticket на "металинке"? )  [new]
DBAshnik
Member

Откуда:
Сообщений: 402
P.S. запузырил им новый SR уже... :-) Посмотрим, как будут вертется... ;-)
18 дек 19, 18:14    [22043487]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить