Oracle

Dec. 15th, 2003 07:51 pm
duginov: (blues)
[personal profile] duginov
Сказать, что я злой - ничего не сказать. Я еще и уставший, измотанный итд. Утро началось вопросами "ну когда, скоро, уже почти?". И я действительно уже почти заканчивал дописывать код, которым занимался уже месяц. Приятное состояние, когда знаешь, что основная часть работы позади, остались мелкие шероховатости подрихтовать и радоваться жизни и тому, что есть от тебя польза, сроки не сорваны, начальство довольно, клиенты пакуют чемоданы денег...

Щаззз. К обеду посыпались такие ошибки, что я понял, добром это не кончится. И где-то после 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
...

Date: 2003-12-15 09:31 pm (UTC)
From: [identity profile] alexf.livejournal.com
Может charset'ом поиграться попробовать? Там какой по умолчанию стоит, UTF-8? И откуда запускается тоже, на клиенте... Может из-за этого лишние пробелы. Или функцию приведения к какому-нить типу применить на результат. Я правда не совсем оракловый программист, просто в довесок к MS SQL ещё и его юзаю.

Date: 2003-12-16 02:18 am (UTC)
From: [identity profile] noser.livejournal.com
Это не баг, это фича, на которую завязан весь написанный за последние 20 лет оракловый софт. Если ее пофиксить, все везде сразу перестанет работать, и наступит полный Армагеддон и Y2K.

December 2015

S M T W T F S
  12345
6789 101112
13141516171819
20212223242526
2728293031  

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Mar. 20th, 2026 03:59 am
Powered by Dreamwidth Studios