PDA

View Full Version : AS400 und REMOTE SQL auf MS-SQL-Server



Seiten : 1 [2]

BerndF
18-03-03, 08:59
Hallo Alois,

habe den Eintrag hier gelesen. wir haben dieses problem wie folgt gelöst:

as400-seite
-----------
diverse querys und sql's, die die daten aus dem pps verdichten. gestartet wird das ganze über ein cl im job-sheduler. die daten werden in einer separaten datenbib abgestellt. dieser schritt ist aber nur dann notwendig, wenn man nicht direkt auf die daten des pps zugreifen kann.

Server-Seite
------------
wir setzen MS-SQL 2000 ein. ist aber unerheblich. die vorgehensweise funktioniert auch mit oracle und mysql. dort läuft ein access-progrämmchen, dass nichts anderes tut, als die daten von der as400 in eine externe datenbank zu schaufeln. das ganze wird bei uns über den nt-sheduler automatisch gesteuert. wenn der access-job abgearbeitet ist, wird ein merker auf der as400 und auf dem sql-server gesetzt. dieser merker machts nichts anderes als der as400 zu sagen: "lösche die datenbib, um speicherplatz nach der übernahme wieder freizugeben" (muß aber nicht unbedingt sein). und für den sql-server bedeutet dies: "jetzt kannste loslegen und die importierten daten in den würfel (cube, datawarehouse) einbauen.

noch eine bemerkung zum access
------------------------------
wir setzen den odbc-treiber von walldata und nicht client access ein. client access frist zuviel resourcen. jeden falls ist das unsere erfahrung. es geht aber auch mit dem odbc von client access (nur nicht so stabil - weiß der geier warum). für den sql-server bringt access respektive windows genügen treiber mit. kann man sich aber auch aus dem netzt runtersaugen.


zeitverhalten
-------------
auf der as400 läuft der job nachts. morgens in aller frühe (5 uhr) werden die daten rübergeschaufelt und anschließend vom sql bearbeitet. das ganze läuft so ca. eine stunde. datenvolumen auf dem sql ca. 1GB was hin und her geschaufelt wird. unsere as400 ist leider nur ne 270, zeigt aber, dass auch mit kleineren maschinen eine gute performance erreicht werden.

schlussbetrachtung
------------------
dies ist wohl nicht der intelligenteste weg daten von einem system auf das andere zu schaufeln. wir haben uns nur gedacht, möglichst effizient und schnell zu einer lösung zu kommen. im nachhinein betrachtet würde ich es immer wieder so tun. warum? weil es absolut stabil und sicher läuft. null probleme.

gruß bernd

Sven Schneider
25-03-03, 12:14
Der Ansatz mit einem Type 4 JDBC-Datenbanktreiber ist schon der eleganteste Ansatz. Weil so ein Treiber läuft unter jeder JVM.
(An DBender : Aber wozu DB2 Connect ?)

Also folgende vorgehensweise :

- MS-SQL JDBC-Treiber (meistens 1 oder meherre JAR's) ins IFS der AS/400 kopieren.
- CLASSPATH setzen
- JAVA-Programm auf der AS/400 erstellen, unter Nutzung des JDBC-Treibers + SQL die Daten auf der Remote Datenbank ändern.

Wenn dein Verarbeitungsprogramm auf der AS/400 in z.B. RPG geschrieben ist, kannst du ab OS/400 V5R1 zusätzlich folgendes tun :_

- Java-Programm als SQL Store Procedure registrieren und per embedded SQL-Call aufrufen
oder
- (das geht nur in ILE) die Java-Klasse in RPG direkt ansprechen (als externe Prozedur)

Eine Auswahl verschiedener JDBC - Type 4 Treiber findest du hier :
http://industry.java.sun.com/products/jdbc/drivers

Eine freien/kostenlosen für MS-SQL gibt es hier : http://www.freetds.org/software.html

Sven


[Dieser Beitrag wurde von Sven Schneider am 25. März 2003 editiert.]

BenderD
26-03-03, 21:21
<BLOCKQUOTE><font size="1" face="Verdana, Arial">Zitat:</font><HR>Original erstellt von Sven Schneider:
Der Ansatz mit einem Type 4 JDBC-Datenbanktreiber ist schon der eleganteste Ansatz. Weil so ein Treiber läuft unter jeder JVM.
(An DBender : Aber wozu DB2 Connect ?)

DB2 Connect ist eine Alternative zu Java - für Java braucht man sowas nicht.

Zu den Treibern noch: Der MickySoft Treiber geht nicht für alle SequelServer Versionen. Den Una (glaub ich heisst er) habe ich schon ausprobiert auf der AS, der tut's für eine Handvoll Dollar. Sorce Forge hat einen Freeware (jdt, mein ich) der soll gut und für umme sein.

Dieter

Also folgende vorgehensweise :

- MS-SQL JDBC-Treiber (meistens 1 oder meherre JAR's) ins IFS der AS/400 kopieren.
- CLASSPATH setzen
- JAVA-Programm auf der AS/400 erstellen, unter Nutzung des JDBC-Treibers + SQL die Daten auf der Remote Datenbank ändern.

Wenn dein Verarbeitungsprogramm auf der AS/400 in z.B. RPG geschrieben ist, kannst du ab OS/400 V5R1 zusätzlich folgendes tun :_

- Java-Programm als SQL Store Procedure registrieren und per embedded SQL-Call aufrufen
oder
- (das geht nur in ILE) die Java-Klasse in RPG direkt ansprechen (als externe Prozedur)

Eine Auswahl verschiedener JDBC - Type 4 Treiber findest du hier :
http://industry.java.sun.com/products/jdbc/drivers

Eine freien/kostenlosen für MS-SQL gibt es hier : http://www.freetds.org/software.html

Sven


[Dieser Beitrag wurde von Sven Schneider am 25. März 2003 editiert.][/quote]

Bobou
24-03-16, 09:18
Hallo an Alle,

da dieser Eintrag bereits ein paar Jahre alt ist, wollte ich mal erfragen ob sich die Situation mittlerweile geändert hat.
Heißt: Wir haben ein MS SQL Server 2012 und eine Power 8 V7R2 und möchte gerne Daten zwischen Datenbanken austauschen. Gibt es eine Hauseigene-Möglichkeiten von der ISeries ohne JDBC?

Vielen Dank im Voraus
schöne Grüße
Bobou

Fuerchau
24-03-16, 09:22
Jein.
Nur per JDBC kann man von der AS/400 aus auf Nicht-DB/2-Datenbanken zugreifen.
Dies wird jedoch von Dieter Benders "ArdGate" sehr einfach unterstützt (WRKRDBDIRE).
Ich habe gerade eine erfolgreiche Installation zu einer Oracle-DB bei einem Kunden hinter mir (1 MT).
Die RPGLE-Programme können nun native mit SQL auf Oracle zugreifen.
Native funktioniert dies ausschließlich mit Datenbanken, die das DRDA-Protokoll (WRKRDBDIRE) unterstützen. Und das sind fast nur DB2-Derivate.

BenderD
24-03-16, 10:26
... nur noch ergänzend:
- zur Verdeutlichung: ohne AS/400 Middleware kann man nur auf andere DB2 Datenbanken zugreifen (DRDA), also nicht auf MS SQL Server
- mit ArdGate kann man mit STRSQL, QMQRY und per embedded SQL auf alle Datenbanken zugreifen, die einen JDBC Treiber haben. Java Kenntnisse nicht erforderlich.
- ArdGate ist Open Source
- wer richtig Geld ausgeben will und ein umfassendes Projekt draus machen will, kriegt das auch von IBM, dann braucht er noch einen zusätzlichen Server (nicht AS/400!!!) und Middleware und darf dann den Beta Flieger spielen.

D*B