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

Verbindung zu DB2

Allgemeine Fragen zur Entwicklung von und mit JVx.

Verbindung zu DB2

Postby iferle » Tue Oct 19, 2010 9:59 am

Hallo. Ich möchte eine Verbindung zu einer DB2-Datenbank über JDBC (Type4) realisieren. Ich habe dazu die Tabelle der "FirstApplication" in einer DB2-Datenbank angelegt (im Schema der AnmeldeID) und ein paar Beispieldaten eingegeben. Dann habe ich in der Session.java das DBAccess-Objekt auf DBDB2Access() umgebogen und die URL im DB2-Format (jdbc:db2://server:port/dbName) angegeben. Wenn ich das Logging für das Package com.sibvisions.rad.persist.level einschalte und die Applikation starte, sehe ich:
Code: Select all
19.10.2010 09:50:31 [ FINE        ] getMetaData(SELECT * FROM CONTACTS WHERE  1=2 ) in 78ms                                              com.sibvisions.rad.persist.jdbc.DBAccess getMetaData (Line: 1728)
19.10.2010 09:50:31 [ FINE        ] com.sibvisions.rad.persist.jdbc.DBAccess getMetaData (Line: 239)
                                    getMetaData(SELECT * FROM CONTACTS WHERE 1=2[ColumnDefinition ::[ID],Label=ID,Type=java.math.BigDecimal,Nullable=false,Precision=10,Scale=0,Signed=true,bWriteable=true,bPrimaryKey=false,bAutoIncrement=true, ColumnDefinition ::[FIRSTNAME],Label=FIRSTNAME,Type=java.lang.String,Nullable=false,Precision=200,Scale=0,Signed=false,bWriteable=true,bPrimaryKey=false,bAutoIncrement=false, ColumnDefinition ::[LASTNAME],Label=LASTNAME,Type=java.lang.String,Nullable=false,Precision=200,Scale=0,Signed=false,bWriteable=true,bPrimaryKey=false,bAutoIncrement=false, ColumnDefinition ::[BIRTHDAY],Label=BIRTHDAY,Type=java.sql.Timestamp,Nullable=true,Precision=0,Scale=0,Signed=false,bWriteable=true,bPrimaryKey=false,bAutoIncrement=false, ColumnDefinition ::[STREET],Label=STREET,Type=java.lang.String,Nullable=true,Precision=200,Scale=0,Signed=false,bWriteable=true,bPrimaryKey=false,bAutoIncrement=false, ColumnDefinition ::[NR],Label=NR,Type=java.lang.String,Nullable=true,Precision=200,Scale=0,Signed=false,bWriteable=true,bPrimaryKey=false,bAutoIncrement=false, ColumnDefinition ::[ZIP],Label=ZIP,Type=java.lang.String,Nullable=true,Precision=5,Scale=0,Signed=false,bWriteable=true,bPrimaryKey=false,bAutoIncrement=false, ColumnDefinition ::[TOWN],Label=TOWN,Type=java.lang.String,Nullable=true,Precision=200,Scale=0,Signed=false,bWriteable=true,bPrimaryKey=false,bAutoIncrement=false],...) determine write columns in 0ms

19.10.2010 09:50:32 [ FINE        ] select(SELECT * FROM CONTACTS,...) in 0ms                                                            com.sibvisions.rad.persist.jdbc.DBAccess fetch (Line: 449)


Die DBEditFrame mit den Kontakten bleibt aber leer,auch die ermittelten Metadaten auch nicht angezeigt (Spaltennamen).
Was mache ich falsch?
iferle
 
Posts: 6
Joined: Tue Oct 19, 2010 9:45 am
Location: München

Re: Verbindung zu DB2

Postby Support@SIB » Tue Oct 19, 2010 4:14 pm

Wir haben die Anwendung mit einer DB2 Datenbank getestet und die Tabelle wurde wie erwartet dargestellt.

Unsere Tabellendefinition (Schema: TEST):

Code: Select all
create table TEST.CONTACTS
(
  ID            decimal(18) NOT NULL GENERATED BY DEFAULT  AS IDENTITY,
  FIRSTNAME     VARCHAR(200) not null,
  LASTNAME      VARCHAR(200) not null,
  BIRTHDAY      TIMESTAMP,
  STREET        VARCHAR(200),
  NR            VARCHAR(200),
  ZIP           VARCHAR(4),
  TOWN          VARCHAR(200)
);

INSERT INTO TEST.CONTACTS (ID, FIRSTNAME, LASTNAME, BIRTHDAY, STREET, NR, ZIP, TOWN) VALUES (1, 'Johann', 'Müller', '1947-03-12', 'Berggasse', 12, 2610, 'Alpstadt');
INSERT INTO TEST.CONTACTS (ID, FIRSTNAME, LASTNAME, BIRTHDAY, STREET, NR, ZIP, TOWN) VALUES (2, 'Leona', 'Sommer', '1982-06-01', 'Landstrasse', 29, 1020, 'Wien');


Unsere DB Verbindung:

Code: Select all
dba = new DB2DBAccess();         
dba.setUrl("jdbc:db2://db2vm:50000/TESTDB");
//bzw. dba = DBAccess.getDBAccess("jdbc:db2://db2vm:50000/TESTDB");

dba.setUsername("test");
dba.setPassword("test");
dba.open();


Screenshot unseres Tests:

firstapp.png
firstapp.png (26.44 KiB) Viewed 5323 times



Um das Problem näher zu analysieren, wäre das Eclipse Projekt (als zip) hilfreich und ggf. das DB Statement für die Tabelle, falls sich dieses von unserer Definition unterscheidet.
User avatar
Support@SIB
 
Posts: 353
Joined: Mon Sep 28, 2009 1:56 pm

Re: Verbindung zu DB2

Postby Support@SIB » Thu Oct 21, 2010 11:38 am

Für den Test wurden folgende Versionen verwendet:

Code: Select all
JVx: 0.8
DB2: 9.7.1
JDBC Treiber (db2jcc.jar): 3.58.82

In Ihrem Log ist zu sehen, daß der Datenbankzugriff ebenfalls problemlos verlief. Die Meta-Daten wurden erfolgreich ausgelesen und das nachfolgende fetch wurde auch ohne Probleme durchgeführt.
User avatar
Support@SIB
 
Posts: 353
Joined: Mon Sep 28, 2009 1:56 pm


Return to Development (DE)