PDA

View Full Version : D2 UDB vs. V5R2M0



Andreas.Meyer
09-06-06, 15:37
Hallo Newsgroup!

Wie ihr sicher gleich erkennt, bin ich DB2 - Einsteiger. Selber haben wir "leider" keine AS400, sollten aber für einen Kunden eine Anwendung unter Windows schreiben, deren Datenbasis auf AS400 DB2 ist.

Im Vorfeld habe ich natürlich die DB2 UDB getestet und gesehen, dass wir die Programmierung im Griff haben. Mit Erschrecken habe ich nun fest gestellt, das der Auftraggeber gar keine UDB auf der AS400 am laufen hat.:mad:

Ich habe nun jede Menge Fragen:

1) wie unterscheiden sich die DB2 UDB und DB2/AS400(V5R2M0) aus Sicht eines Windows - Anwendungsentwicklers?

2) Kann auf beide Systeme via OLEDB zugegriffen werden?

3) Kann ich als Anwendungsentwickler davon ausgehen, dass die SQL - Statements auf beiden System in etwa gleich sind?

4) Wie bringe ich eine Datenbank von UDB unter Windows auf DB2/AS400(V5R2M0)?

Wäre um jede Unterstützung froh!!!


Vielen Dank und liebe Grüße,


Andreas.

Fuerchau
09-06-06, 15:45
Die DB2/400 ist weitgehenst mit DB2/UDB identisch (geringe Unterschiede) und ist Bestandteil des Betriebssystems.

Zugriffe gibt es über ODBC (OLEDB mit MSDASQL) als auch per direkter OLEDB (allerding ohne Commit).

Die DB2/400 verwendet SQL99-Standard, was eigentlich für alles ausreicht.

Eine Übertragung der DB2/UDB auf die AS/400 ist weder technisch möglich (allenfalls in einer Unix-Umgebung) noch sinnvoll, da die DB2/400 ja immer da ist.

Andreas.Meyer
09-06-06, 15:56
Wow, wenn Sie wüßten, welcher Stein mir jetzt gerade runter gefallen ist!!!

Wenn ich Sie richtig verstehe, ist folgendes Szenario vorstellbar:

Wir entwickeln unter der Windows UDB (Verbindung via OLEDB). Das Werk sollte dann eigentlich gegen die DB2/AS400 auch funktionieren!

Das mit dem "Kein Commit" habe ich allerdings nicht ganz gecheckt? Was meinen Sie damit?

Wegen dem Transfer der Datenbank: Unter ORACLE (ich hoffe, ich darf das den Namen in diesem Forum überhaupt nennen) kann ich mit exp die DB exportieren und mit imp auf einem völlig anderen System wieder importiern! Das geht demnach unter DB2 nicht, oder?

Zudem habe ich noch Fragen zu Lockingmechanismen (Row- oder Pagelocking)! Gibt es da eine Lektüre dazu? Wie sieht es mit Isolation - Levels aus?

Ich hoffe, ich belaste Sie mit meinen Fragen nicht zu sehr!


Nochmals vielen Dank für die Info!

LG aus Österreich,


Andreas.

Fuerchau
09-06-06, 19:11
Alles das was DB2/UDB ausmacht kann die AS/400 auch.
Export/Import läuft da allerdings etwas anders (meist via ODBC mittels kleinem Copy-Programm).

Commit=>Isolation-Level
SQL: Commit/Rollback
OLEDB: BeginTrans/CommitTrans/RollbackTrans

Alle Standards werden unterstützt.
Die AS/400 verwendet Row-Lock, abhängig vom Isolation-Level auch beim Select.

Da es verschiedenste Treiber gibt nun zu CA (ClientAccess):
ODBC-Treiber: zu verwenden mit dem MSDASQL, voller Support
IBMDA400(OLEDB): kein Isolation-Level bei SQL !

Tja, und wenn du schon DB2/UDB nimmst, dann hast du auch DB2/Connect und der schafft auch die AS/400 incl. verteilter Transaktionen(!).

BenderD
10-06-06, 12:23
Hallo,

vielleicht noch ein paar Ergänzungen zu Baldur:
- für import export gibt es noch CPYTOIMPF und CPYFRMIMPF, die CSV Dateien und ähnliches erstellen, die sich fast von allen Datenbanken laden und erzeugen lassen. Transportieren kann man selbige mit FTP.
- isolation level ist analog zu UDB (mit ähnlichen Tücken der Sperreskalation)
- alles was höheres Sperrlevel als none verwendet setzt Journalisierung voraus, die im AS400 Bereich meist nicht verwendet wird und seltsamerweise auch bei vielen verpönt ist.
- Vorsicht: DB2/400 ist kein Rennpferd, vor allem auf älterer und schwächerer Hardware!

mfg

Dieter Bender





Wow, wenn Sie wüßten, welcher Stein mir jetzt gerade runter gefallen ist!!!

Wenn ich Sie richtig verstehe, ist folgendes Szenario vorstellbar:

Wir entwickeln unter der Windows UDB (Verbindung via OLEDB). Das Werk sollte dann eigentlich gegen die DB2/AS400 auch funktionieren!

Das mit dem "Kein Commit" habe ich allerdings nicht ganz gecheckt? Was meinen Sie damit?

Wegen dem Transfer der Datenbank: Unter ORACLE (ich hoffe, ich darf das den Namen in diesem Forum überhaupt nennen) kann ich mit exp die DB exportieren und mit imp auf einem völlig anderen System wieder importiern! Das geht demnach unter DB2 nicht, oder?

Zudem habe ich noch Fragen zu Lockingmechanismen (Row- oder Pagelocking)! Gibt es da eine Lektüre dazu? Wie sieht es mit Isolation - Levels aus?

Ich hoffe, ich belaste Sie mit meinen Fragen nicht zu sehr!


Nochmals vielen Dank für die Info!

LG aus Österreich,


Andreas.

Fuerchau
10-06-06, 19:07
@Dieter
Das mit dem Rennpferd sollten wir aber nochmal detaillieren !
Mehrere 10.000 journalisierte Transaktionen pro Sekunde find ich schon ganz ordentlich.

BenderD
11-06-06, 09:08
@Baldur:
wir reden hier von SQL Operationen im Client Server Umfeld:
mehrere 10.000 Transaktionen pro Sekunde sind da in der Tat ein fantastischer Wert, selbst 10.000 Datenbankoperationen wären da schon gut (das wären dann 36 Millionen Sätze in der Stunde und 200 Millionen wären in 6 Stunden gegessen).
Da warst du in einem anderen Thread aber wesentlich pessimistischer.
http://www.rlpforen.de/showthread.php?t=9719
In den mesiten realen Installationen werden solche Werte nicht erreicht und die mesiten 50.000 Euro AS400 Maschinen haben ihre liebe Not mit einer DB2 auf einer 2 GigaHertz Wintel Büchse mitzuhalten.
Die AS400 ist fast unbegrenzt skalierbar (weit höher als Wintel), aber in den Highend Installationen mit denen ich zu tun habe (und hatte) ist die Stärke der AS400 weniger die Geschwindigkeit der einzelnen Operation, sondern eher der erreichbare Durchsatz und eine gewisse Gutmütigkeit, die auch schon mal mit Behäbigkeit einhergehen kann.

mfg

Dieter Bender


@Dieter
Das mit dem Rennpferd sollten wir aber nochmal detaillieren !
Mehrere 10.000 journalisierte Transaktionen pro Sekunde find ich schon ganz ordentlich.