This website uses cookies for visitor traffic analysis. By using the website, you agree with storing the cookies on your computer.More information

Problem beim Fetching der MetaDaten aus MySQL (>Version 5.1)

Allgemeine Fragen zur Entwicklung von und mit JVx.

Problem beim Fetching der MetaDaten aus MySQL (>Version 5.1)

Postby tak » Wed Mar 10, 2010 5:52 am

Ab Version 5.1 in MySQL gab es eine Änderung im JDBC-Driver, in der bei einer Abfrage über
Code: Select all
((ResultSetMetaData)object).getColumnName ()
bei Columns mit gesetztem Alias der OriginalName der Column zurückgeliefert wird.

Beispielsweise wird bei
Code: Select all
SELECT name AS customer_name FROM CUSTOMERS;
der ColumnName “name” und nicht mehr “customer_name“ zurückgeliefert.

Problematisch wird dieses Verhalten, sollten mehrere Columns mit gleichem Namen aber unterschiedlichen Aliases in einer Query existieren.
Somit passiert es, dass eine „falscher“ bzw. eine ColumnName mehrfach in den gelieferten MetaDaten der DBAccess vorkommt.
Dies macht es wiederum unmöglich über
Code: Select all
((RemoteDataBook)object).getRowDefinition().getColumnDefinition(„COLUMNNAME“)
auf die ColumnDefinition zuzugreifen.

(Frage: Exception Handling für mehrfach vorkommende ColumnNames in den MetaDaten wurde vorgesehen jedoch nicht „fertig“ entwickelt (DBAccess Line: 2086)?)

Wie im BugReport auf der MySQL-Seite (http://bugs.mysql.com/bug.php?id=43684) beschrieben ist, kann für das Verhalten vor Version 5.1 die Option useOldAliasMetadataBehavior=true im JDBC-ConnectionString verwendet werden.

LG, Tommy
tak
 
Posts: 14
Joined: Tue Oct 20, 2009 9:21 pm

Re: Problem beim Fetching der MetaDaten aus MySQL (>Version 5.1)

Postby Support@SIB » Wed Mar 10, 2010 11:13 am

Welche JVx Version wird verwendet, sieht nach 0.7 BETA-3 aus und nicht 0.7 release!

Welche Version des JDBC Treibers wird aktuell verwendet?
Funktioniert ein älterer JDBC Treiber, der diese Option noch nicht implementiert hat?

Das Problem mit der Spalten Behandlung wird behandelt unter Support System.

Die Property können Sie einerseits in der Connection URL, via config.xml, setzen oder andererseits im Source-Coude durch:

dbaccess.setDBProperty("useOldAliasMetadataBehavior", "true");

Details diesbezüglich Support System.
User avatar
Support@SIB
 
Posts: 349
Joined: Mon Sep 28, 2009 1:56 pm

Re: Problem beim Fetching der MetaDaten aus MySQL (>Version 5.1)

Postby tak » Wed Mar 10, 2010 12:10 pm

Aktuell werden für die Enwicklung folgende Librarys verwendet:

JVx: 0.7 Release
JDBC-Driver: mysql-connector-java-5.1.10-bin.jar

Habe das Verhalten gerade mit der Version mysql-connector-java-5.0.6-bin.jar des JDBC-Driver gestetet, wobei mit dieser Version das Verhalten nicht auftritt.

LG, Tommy
tak
 
Posts: 14
Joined: Tue Oct 20, 2009 9:21 pm


Return to Development (DE)