# Neues aus der JDBC-ODBC-Hölle



## SilentJ (2. Nov 2007)

Hallo,

wie in meinem Fall muss man schon beauftragt worden sein eine Verbindung per Java auf eine MS Access Datenbank aufbauen zu wollen, wenn man wie ich kein Masochist ist. Konkret habe ich folgendes Problem:

Ich habe in der Datenbank in einer Spalte Werte stehen, die Leerzeichen einhalten, sagen wir mal "AAA BBB". Dieser Wert wird an anderer Stelle genauso benötigt. Ok, das ist jetzt fix. Jetzt erhalte ich javaseitig den Wert "AAABBB", den ich gerne mit der Spalte in der Datenbank in Verbindung bringen möchte. Potzblitz sage ich mir und gehe naiver Weise davon aus, dass ich die Verbindung über REPLACE(<Spalte>, " ", "") LIKE "AAABBB" herstellen kann. Im Query-Editor von Access ist das kein Problem. Rufe ich ein Statement auf per JDBC-ODBC, das diesen Teilausdruck enthält, kann die JDBC-ODBC-Bridge die Funktion "REPLACE" nicht zuordnen. Im ODBC-Sprachumfang ist sie meiner Meinung nach definiert.

Ok denke ich mir weiter, dann baue ich mir eine Abfrage in der Datenbank, die mit Replace-Funktion mir schön die Daten vorformatiert - und dann greife ich per JDBC-ODBC-Bridge einfach auf die Abfrage zu. Aber - gleiches Ergebnis. 

Fazit: Ich komme nicht weiter, Access hat mich wieder Stunden gekostet, weil ich Idiot exotische Funktionen wie Replace aufrufe und JDBC-ODBC ist genau der Witz, für den ich es halte.

Oder hat jemand noch eine Idee. Die würde ich nehmen - mit Kusshand!

Michael


----------



## maki (2. Nov 2007)

Das Problem hast du erkannt, wie sieht es mit alternativen aus?
zb. MS SQL Server?
Darauf lässt sich wsowohl aus Access als auch per JDBC sehr gut zugreifen.


----------



## SilentJ (2. Nov 2007)

Die Antwort findet sich in meinem ersten Satz.


----------



## bronks (2. Nov 2007)

SilentJ hat gesagt.:
			
		

> ... Fazit: Ich komme nicht weiter, Access hat mich wieder Stunden gekostet, weil ich Idiot exotische Funktionen wie Replace aufrufe und JDBC-ODBC ist genau der Witz, für den ich es halte ...


Ich verwende JDBC-ODBC in Produktion u.a. mit EJB. M.E. macht Deine Probleme rein und alleine Access.


----------

