Сказать, что я злой - ничего не сказать. Я еще и уставший, измотанный итд. Утро началось вопросами "ну когда, скоро, уже почти?". И я действительно уже почти заканчивал дописывать код, которым занимался уже месяц. Приятное состояние, когда знаешь, что основная часть работы позади, остались мелкие шероховатости подрихтовать и радоваться жизни и тому, что есть от тебя польза, сроки не сорваны, начальство довольно, клиенты пакуют чемоданы денег...
Щаззз. К обеду посыпались такие ошибки, что я понял, добром это не кончится. И где-то после 5 вечера после долгих экспериментов я осознал, что налетел на редкий видимо (в Интернете ничего не нашел), но гнусный баг в ORACLE.
НЕНАВИЖУ ЭТИХ КОЗЛОВ. УЖЕ БОЛЬШЕ ДВАДЦАТИ ЛЕТ НЕ МОГУТ ОТЛАДИТЬ СВОЙ ГРЕБАНЫЙ СЕРВЕР!
Восемь вечера... Поеду домой посплю, чтоб завтра непонятно о чем беседовать с коллегами и менеджерами. Быстро и легко эту проблему не исправить. Либо очень долго, но правильно, либо просто долго и коряво. Поубивал бы...
Here's a problem
--------------------------------------------
set serveroutput on
DECLARE
CURSOR cur is select ed_no, length(ed_no) as len from listtext@pubdb.world;
BEGIN
for cur_rec in cur loop
DBMS_OUTPUT.PUT_Line('>'||cur_rec.ed_no||'<'||to_char(cur_rec.len) );
end loop;
end;
/
-------------------------------------------
this returns
>ABC <3
>XYZ <3
...
i.e. result has correct value plus six trailing spaces
Column ed_no is CHAR(3)
I have the same problem with all CHAR columns in all tables. The
column length is tripled and trailing spaces added if I define the
cursor through the database link.
However, if I login to that database directly and get rid of
"@pubdb.world" in cursor definition, everything works fine and the
code returns
>ABC<3
>XYZ<3
...
Щаззз. К обеду посыпались такие ошибки, что я понял, добром это не кончится. И где-то после 5 вечера после долгих экспериментов я осознал, что налетел на редкий видимо (в Интернете ничего не нашел), но гнусный баг в ORACLE.
НЕНАВИЖУ ЭТИХ КОЗЛОВ. УЖЕ БОЛЬШЕ ДВАДЦАТИ ЛЕТ НЕ МОГУТ ОТЛАДИТЬ СВОЙ ГРЕБАНЫЙ СЕРВЕР!
Восемь вечера... Поеду домой посплю, чтоб завтра непонятно о чем беседовать с коллегами и менеджерами. Быстро и легко эту проблему не исправить. Либо очень долго, но правильно, либо просто долго и коряво. Поубивал бы...
Here's a problem
--------------------------------------------
set serveroutput on
DECLARE
CURSOR cur is select ed_no, length(ed_no) as len from listtext@pubdb.world;
BEGIN
for cur_rec in cur loop
DBMS_OUTPUT.PUT_Line('>'||cur_rec.ed_no||'<'||to_char(cur_rec.len) );
end loop;
end;
/
-------------------------------------------
this returns
>ABC <3
>XYZ <3
...
i.e. result has correct value plus six trailing spaces
Column ed_no is CHAR(3)
I have the same problem with all CHAR columns in all tables. The
column length is tripled and trailing spaces added if I define the
cursor through the database link.
However, if I login to that database directly and get rid of
"@pubdb.world" in cursor definition, everything works fine and the
code returns
>ABC<3
>XYZ<3
...