Dienstag, 29. Januar 2013

OpenJPA DB2 hellojpa

In order to execute the sample app, you need to create the table in your Database.
In our case the user/owner ist called TESTUSR.
The table definition works fine with the sample, and it has soem adtional features.
CREATE TABLE TESTUSR.MESSAGE (
 ID BIGINT GENERATED BY DEFAULT AS IDENTITY(START WITH 1) PRIMARY KEY,
 CREATED DATE DEFAULT CURRENT_DATE NOT NULL,
 MESSAGE VARCHAR(2000) NOT NULL
);
INSERT INTO TESTUSR.MESSAGE (MESSAGE ) VALUES  ( 'hi2' )
don't forget the configuration of your persistence.xml.
In our case we set 4 parameters.
It is also possible to use a datasource in hosted appserverenvironment.
Because we are assuming the simple we choose to set the minimal necessary parameters.

Freitag, 25. Januar 2013

WAS7 enable debugging



In order to connect to a remote java process. The JVM must be started in debugging-mode.

Application servers > server1 > Process definition > Java Virtual Machine











Mittwoch, 9. Januar 2013

Drucken-Link

Um eine HTML-Seite zu drucken kann man einen Link in seine HTML-Seite einfügen.
window.print();
Seite-Drucken

Reparieren eines kaputten WAS7 Profiles

C:\Programme\IBM\SDP75\runtimes\base_v7\bin\ProfileManagement\pmt.bat
Sobald das Tool gestartet ist, kann man sehen, wie das aktuelle Profil heisst.


C:\Programme\IBM\SDP75\runtimes\base_v7\bin>manageprofiles -delete -profileName was70profile1 INSTCONFSUCCESS: Erfolg: Das Profil ist nicht mehr vorhanden.
C:\Programme\IBM\SDP75\runtimes\base_v7\bin>manageprofiles -create -profileName was7profile1 INSTCONFSUCCESS: Erfolg: Das Profil was7profile1 ist jetzt vorhanden. Weitere In formationen zu diesem Profil finden Sie in der Datei "C:\Programme\IBM\SDP75\run times\base_v7\profiles\was7profile1\logs\AboutThisProfile.txt".
Nach der Reparatur des defecten Profiles kann man den Server wieder wie gewohnt starten.
C:\Programme\IBM\SDP75\runtimes\base_v7\bin>startserver server1 ADMU0116I: Tool information is being logged in file C:\Programme\IBM\SDP75\runtimes\base_v7\profiles\was7profile1\logs\s rver1\startServer.log ADMU0128I: Starting tool with the was7profile1 profile ADMU3100I: Reading configuration for server: server1 ADMU3200I: Server launched. Waiting for initialization status. ADMU3000I: Server server1 open for e-business; process id is 1720
http://localhost:9060/ibm/console
  • Port der Administrationskonsole: 9060
  • Sicherer Port der Administrationskonsole: 9043
  • Port für HTTP-Transport: 9080
  • Port für HTTPS-Transport: 9443
  • Bootstrap-Port: 2809
  • SOAP-Connector-Port: 8880

Montag, 9. Juli 2012

DB2 - retrieve generated id



If you what to know the which ID was given to a record after an insert .

Record successfuly save with id: 815

e.g. insert into mytable (col1, col2, col3) values ( 'val1',  'val2', 'val3');

just calll

values identity_val_local();

it will return the last generated id.

e.g. 2

Sonntag, 4. Dezember 2011

JAVA_HOME auf dem MAC

wie setzt man die JAVA_HOME-Umgebungsvaribale auf dem MAC? Hier ist die Anwort, wie man dies z.B. in einem Script tun sollte.

/usr/libexec/java_home

Montag, 14. November 2011

Suche in DB2 mit Java

Häufig muss man mit Java in relationalen Datenbanken nach Texten suchen.
Dabei sollte die Groß- und Kleinschreibung nicht von Bedeutung sein.

Doch wie erreicht man dies?

Komplizierter wird dies noch, wenn man die deutschen Sonderzeichen beachtet.
Was passiert mit eine "ß" ? Wie wird es umgesetzt?

Die Antwort ist folgende.
Sowohl die Daten in der Datenbank, als auch die Java-Strings müssen mit
toLower() auf lower-case umgestellt werden.

Im folgenden kommt ein Real-World-Beispiel, wie es oft in unseren Programmen auftaucht. Wenn man ein "_" als searchtTerm übergibt gibt es keine Einschränkung.
Man beachte, das im DB2 mit java die substr()-funktion aufgerufen werden muss, sonst klappt das nicht.

select distinct(BERATERNAME) as beratername 
from ALMAUSR.RSB_RUECK
where lower(BERATERNAME) like :searchTerm or ('_' = substr(:searchTerm, 1, 1))



In Java erfolgt, das toLower wie folgt.
String searchTerm = "Außendienst";
searchTerm = searchTerm.toLowerCase(Locale.GERMANY);
searchTerm = searchTerm + "%";