| Oracle End of Communication Channel |
|
|
|
| Geschrieben von: Alessandro | |
| Freitag, den 17. Dezember 2010 um 15:55 Uhr | |
|
Tja, heute habe ich wieder etwas dazugelernt. Seit kurzem kam es immer wieder mal zu dem Problem, dass ich einen "End of Communication Channel" Error bekam. Nicht immer, ab und zu mal, intermittierend. Das ganze unter Oracle 11g. Herausgestellt hat sich dann, dass der Code mit SUBSTR schuld daran war. D.h. wenn ich einen Substr mit Minuszahlen (also von Rechts gezählt) erstelle und dann als Wert ein NULL habe, dann KANN es sein, dass das ganze kippt und die Kommunikation zusammenbricht. Schuld war in Code gesprochen folgendes: cast(decode(x.rowcell, 1, decode(substr(goo_ean_code,1,4), '9003', substr(goo_ean_code,-7,6), substr(goo_ean_code,-8,7))) as varchar(50)) as FLD1 Workaround dann folgendes: cast(decode(x.rowcell, 1, decode(substr(nvl(goo_ean_code,'xxxx'),1,4), 'xxxx', 'x', '9003', substr(nvl(goo_ean_code,'xxxxxx'),-7,6), substr(nvl(goo_ean_code,'xxxxxxx'),-8,7))) as varchar(50)) as FLD1 Somit konnten auch NULL-Werte dem Statement nichts mehr ausmachen. Klar, die erste Version ist nicht sauber programmiert. Trotzdem, einen "End of Communication" Error? Huh? Na egal...
|




