[NEWSboard IBMi Forum]
Seite 1 von 2 1 2 Letzte
  1. #1
    Registriert seit
    Mar 2003
    Beiträge
    4

    Thumbs up AS400 und REMOTE SQL auf MS-SQL-Server

    ich möchte von einem AS400 programm weg eine SQL Datenbank updaten, die auf einem MS-SQL-Server liegt; (das alles läuft im LAN via TCP/IP) ==> und ich schätze man muss auf der AS400 diese Datenbank als REMOTE-SQL-Datenbank konfigurieren // nur wie geht das ??? // hat da jemand eine idee ? /würd mich freuen; ALOIS

  2. #2
    Registriert seit
    Mar 2002
    Beiträge
    5.286

    Post

    Hallo Alois,

    am einfachsten mit Java, da brauchst Du lediglich einen Type 4 JDBC Treiber für die Ente. Aus RPG oder COBOL brauchst Du eine Middleware wie DB2 Connect auf der Ente.

    mfg

    Dieter Bender

    <BLOCKQUOTE><font size="1" face="Verdana, Arial">Zitat:</font><HR>Original erstellt von prillinger0:
    ich möchte von einem AS400 programm weg eine SQL Datenbank updaten, die auf einem MS-SQL-Server liegt; (das alles läuft im LAN via TCP/IP) ==&gt; und ich schätze man muss auf der AS400 diese Datenbank als REMOTE-SQL-Datenbank konfigurieren // nur wie geht das ??? // hat da jemand eine idee ? /würd mich freuen; ALOIS[/quote]

    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  3. #3
    Registriert seit
    Mar 2003
    Beiträge
    4

    Post

    hallo Dieter !
    danke für die rasche antwort // aber ich bin radikal überfordert:
    was heisst für die ENTE ???;
    und dann nochmals DB2 connect auf (der anderen) ENTE ???
    ------------------------------------------
    wenn's irgendwie geht brächt ich das
    detaillierter

    (ich hab' as400-seitig an ADDRDBDIRE
    gedacht ==&gt; also eine remote database
    hinzufügen // bin ich da so falsch ???)
    gruesse alois

    <BLOCKQUOTE><font size="1" face="Verdana, Arial">Zitat:</font><HR>Original erstellt von BenderD:
    Hallo Alois,

    am einfachsten mit Java, da brauchst Du lediglich einen Type 4 JDBC Treiber für die Ente. Aus RPG oder COBOL brauchst Du eine Middleware wie DB2 Connect auf der Ente.

    mfg

    Dieter Bender

    [/quote]


  4. #4
    Registriert seit
    Mar 2002
    Beiträge
    5.286

    Post

    [QUOTE]Original erstellt von prillinger0:
    [B]hallo Dieter !
    danke für die rasche antwort // aber ich bin radikal überfordert:
    was heisst für die ENTE ???;

    Also known as Windows NT

    und dann nochmals DB2 connect auf (der anderen) ENTE ???

    Das heisst schnöderweise, dass nur mit installierter Middleware für den SQL Server über Remote Database Directory connected werden kann. Für Java braucht man diesen Firlefanz nicht.

    Dieter Bender

    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  5. #5
    Registriert seit
    Mar 2003
    Beiträge
    4

    Post

    hi dieter !
    ------------------------------------------
    soweit so gut;
    aber wenn ich das so mache läuft erst
    wieder alles auf dem NT-Rechner;

    ich möcht eigentlich eher die as400 für
    ein "DOWNLOAD" auf den SQL-Server heranziehen;

    d.h. ich muss auf der AS400 eine middleware
    software zum zugriff auf den SQL-Server
    installieren (frage: wo bekomm ich das
    her // wie heisst so ein produkt genau
    // und was kostet das zirka ???)

    [also zu gut deutsch: am liebsten wäre
    mir ein AS400 job im QBATCH, der auf die
    MS-SQL Datenbank rausschreibt]

    DANKE, alois

    <BLOCKQUOTE><font size="1" face="Verdana, Arial">Zitat:</font><HR>Original erstellt von BenderD:
    [b]
    Original erstellt von prillinger0:
    hallo Dieter !
    danke für die rasche antwort // aber ich bin radikal überfordert:
    was heisst für die ENTE ???;

    Also known as Windows NT

    und dann nochmals DB2 connect auf (der anderen) ENTE ???

    Das heisst schnöderweise, dass nur mit installierter Middleware für den SQL Server über Remote Database Directory connected werden kann. Für Java braucht man diesen Firlefanz nicht.

    Dieter Bender


  6. #6
    Registriert seit
    Mar 2002
    Beiträge
    5.286

    Post

    <BLOCKQUOTE><font size="1" face="Verdana, Arial">Zitat:</font><HR>Original erstellt von prillinger0:
    hi dieter ![/quote]

    Also nochmal Schritt für Schritt:

    Für einen Datenbank Connect braucht man auf dem Server und auf dem Client eine Software zum Connecten.
    Die AS/400 hat den Client schon, der SQL Server braucht DB2 Connect als Serverdienst, wenn man das so machen will.

    Mit 2 JDBC Typ 4 Treibern für die beiden Datenbanken kann man den eigentlichen Transferjob laufen lassen, wo man will, die beiden rechner müssen nur über TCP/IP erreichbar sein. Also kann das Java Programm bequem auch als Batch auf der AS/400 laufen. Den Treiber für die AS/400 kriegt man mitgeliefert, für SQL Server bekommt man einen von MickeySoft, oder man holt sich einen anderen Treiber als Freeware und los geht's.

    Dieter
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  7. #7
    Registriert seit
    Mar 2003
    Beiträge
    4

    Post

    hi dieter !
    ----------------------------------------
    danke schon einmal im voraus // langsam
    wird's heller; hab' gerade im midrange magazin geblättert und einen artikel über
    sql+dateizugriffe gelesen // autor:
    dieter bender (schätze mal das bist du
    höchstpersönlich) gruesse, alois

  8. #8
    Registriert seit
    Mar 2002
    Beiträge
    68

    Post

    Hey,

    habe mich auch schon mit dem Thema befassen müssen. Die einzige 'kostenlose' Lösung ist
    tatsächlich nur über ein Java Programm zu realisieren. Die AS400 kann so ohne weiteres
    leider kein Connect zu einer anderen Datenbank

    Alex

  9. #9
    Registriert seit
    Jan 2001
    Beiträge
    340

    Post

    <BLOCKQUOTE><font size="1" face="Verdana, Arial">Zitat:</font><HR>
    ...Die AS400 kann so ohne weiteres
    leider kein Connect zu einer anderen Datenbank
    [/quote]

    na ja, die AS/400 hat das DRDA Protokoll vollständig ( = als client und als server ) implementiert und kann sich ohne weiteres mit jeder anderen Datenbank unterhalten, die dieses Protokoll auch vollständig implementiert hat.

    M$ hat hier mal wieder "Rosinen gepickt", will heißen, das DRDA Protokoll nur teilweise ( = client ) implementiert. Der SQL server kann also Daten von der AS/400 problemlos holen, aber umgekehrt geht's nicht.

    Beschwert euch bei M$ oder setzt ein Server-Betriebssystem ein ;-)

    Gruß
    Rolf

  10. #10
    Registriert seit
    Mar 2002
    Beiträge
    5.286

    Post

    Hallo Rolf,

    ich widerspreche Dir ungern, aber was sein muss, muss sein. Die AS/400 hat ihr SQL Call Level Interface MickySoft nachgebaut, aber den Client weg geknipst. Ich denke wir haben da die Wahl von welchem Räuber wir uns ausnehmen lassen - oder zu Open Source und offenene Standards überzugehen.

    Dieter

    <BLOCKQUOTE><font size="1" face="Verdana, Arial">Zitat:</font><HR>Original erstellt von rmittag:
    na ja, die AS/400 hat das DRDA Protokoll vollständig ( = als client und als server ) implementiert und kann sich ohne weiteres mit jeder anderen Datenbank unterhalten, die dieses Protokoll auch vollständig implementiert hat.

    M$ hat hier mal wieder "Rosinen gepickt", will heißen, das DRDA Protokoll nur teilweise ( = client ) implementiert. Der SQL server kann also Daten von der AS/400 problemlos holen, aber umgekehrt geht's nicht.

    Beschwert euch bei M$ oder setzt ein Server-Betriebssystem ein ;-)

    Gruß
    Rolf
    [/quote]

    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  11. #11
    Registriert seit
    Mar 2003
    Beiträge
    5

    Post

    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

  12. #12
    Registriert seit
    Jun 2001
    Beiträge
    727

    Post

    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&auml;rz 2003 editiert.]

Similar Threads

  1. Zugriff von AS400 auf MS-SQL Server
    By eva in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 08-10-07, 11:59
  2. von AS400 auf anderen Server speichern
    By steven_r in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 19-01-07, 11:17
  3. AS400 auf SQL Server
    By DEVJO in forum IBM i Hauptforum
    Antworten: 7
    Letzter Beitrag: 12-10-06, 19:28
  4. Neue Möglichkeiten mit SQL auf i5 / iSeries / AS400
    By Fondue in forum NEWSboard Server Software
    Antworten: 0
    Letzter Beitrag: 28-04-06, 20:40
  5. MS Sql Server + iSeries -> Verbindungsserver
    By reraru in forum NEWSboard Programmierung
    Antworten: 13
    Letzter Beitrag: 20-04-05, 14:07

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •