XSQL treibt mich in den wahnsinn

mal wieder was aus meinem spannenden alltag als software-entwickler:

Oracle XSQL Servlet gibt so nette fehlermeldungen aus wie “Ungültiger Spaltenindex“, die aber irgendwie nicht direkt mit dem Index, der Anzahl oder Reihenfolge der Spalten des SQL statements oder ähnlichem zu tun hatte…

die lösung des problems war aber bald geklärt, da ich mit hilfe eines lieben arbeitskollegen erkannte, dass die anzahl der bind-params nicht mit der anzahl der verwendeten params übereinstimmt.

in xsql müssen alle params, die mit dem <xsql:query .. />-tag bind-params übergeben werden verwendet werden. diese können mit einem fragezeichen ? oder direkt mit dem prefix “:” angesprochen werden, aber nicht zu wenige, keine doppelten verwendungen und nicht zu viele… eben genau richtig passend muss es sein. das ist die banale lösung.

.

wieso können programmierer dieser tools nicht vernünftige fehlermeldungen ausgeben? sowas wie “Anzahl der bind-params stimmt nicht mit der Anzahl der verwendeten Params überein”. da wär ich und wahrscheinlich alle xsql progger sehr glücklich. ein anderes beispiel für grauenhafte fehlermeldungen sind die gute, alte NullPointerException in Java oder “undefined is not a function” in helma ;)

.

nachtrag: die selbe lösung gibt es auch bei dr fehlermeldung “fehlender IN- oder OUT-Parameter auf Index:: i“. hier wird ein parameter, der mit bind-params gesetzt wird, öfter im SQL verwendet, als er definiert wurde. die lösung: den parameter sooft in bind-params übergeben, wie er verwendet wird!

Advertisements
This entry was posted in howtos and tagged , , , , , , . Bookmark the permalink.

2 Responses to XSQL treibt mich in den wahnsinn

  1. tillmann says:

    Ach, es gibt halt keine ordentlichen Fehlermeldungen. Eine (andere) Ursache für die Meldung ist auch ein Funktionsaufruf in einem PL/SQL-Block, dessen Ergebniss keiner Variablen zugeordnet wird; also quasi ‘ein Fehler ausf der anderen Seite’. Hat auch nur ne Stunde gedauert…

  2. Verzweifelter Nutzer says:

    Danke. Danke. Danke!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s