DatabaseMetaData.getColumns -> DECIMAL_DIGITS

Status
Nicht offen für weitere Antworten.

stochr1100

Neues Mitglied
Hallo!
Es scheint so, daß unter mySQL, MS-SQL, DB2 und unter Oracle mit bestimmten Treiber Bibliotheken DECIMAL_DIGITS immer 0 ist, auch wenn der Datenbanktyp Nachkommastellen besitzt.
Kennt jemand eine Lösung dieses Problems?
 
G

Guest

Gast
Du wirst für jede Datenbank eine solche Funktion schreiben und diese Informationen über die Metadaten
der Datenbank abfragen müssen. Leider ist es so, dass viele Funktionen von JDBC von Treiber zu Treiber
unterschiedlich implementiert sind, so dass man sich nie darauf verlassen kann.
Ein krasses Beispiel ist z.B. ParameterMetaData in PreparedStatement. Diese Funktion wird nicht mal vom
JDBC-ODBC Treiber von Sun unterstützt. Frameworks wie Hibernate enthalten für jedes "unterstützte"
RDBMS eine getrennte Implementierung, um dieses Problem umzugehen
(z.B. OracleDialect, SQLServerDialect, MySQLDialect etc.)
Du schreibst eine Basisimplementierung, die über die Metadaten geht und für jedes RDBMS, das davon
abweicht, eine spezielle Implementierung dieser Funktion von Hand.
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben