[NEWSboard IBMi Forum]
Seite 2 von 2 Erste 1 2
  1. #13
    Registriert seit
    Jan 2008
    Beiträge
    35

    Thumbs up

    Zitat Zitat von RobertPic Beitrag anzeigen
    Noch eine mögliche Fehlerquelle:

    PHP-Code:
    cstmt.registerOutParameter(5java.sql.Types.CHAR); // objektbezeichnung 
    Er fängt bei den Outputparametern wieder bei 1 zu zählen an, zumindest habe ich das so in Erinnerung...

    Ich umgehe diese Zählerei indem ich immer alle Parameter INOUT setze. Man muss halt für alle auch den Output-Type setzen.

    Um Umwandlungsprobleme auszuschließen, vereinfache dein Beispiel vielleicht nocheinmal und verwende zu CHAR's.

    /Robert


    Vielen Dank für diesen tollen Tip,
    ich habe es mittlerweile geschafft, alpha und numerische Daten über die Stored Procedure zu erhalten.

    lg
    Hannes

  2. #14
    Registriert seit
    Jan 2008
    Beiträge
    35
    Zitat Zitat von Fuerchau Beitrag anzeigen
    Soweit ich weiß, werden in Service-Programmen keine *INZSR-Routinen aufgerufen, eine globale Datei wird also ggf. nicht automatisch geöffnet.

    Desweiteren würde ich dir ein SQLRPGLE-Serviceprogramm empfehlen, so dass SQL das Öffnen und ggf. offen halten (ODP) übernimmt, ausserdem kannst du direkt mit SELECT ... INTO ... arbeiten.

    Bei der Verbindung gibst du in der Url die Default-LIB an:
    url = jdbc:as400://MYSYS/MYLIB
    Hallo
    Zunächst mal vielen Dank für die Hilfe,
    Ich habe das nun so gemacht und es funktioniert:

    public void beispielMitDateienObjektbezeichnung() throws ClassNotFoundException, SQLException {


    // Connection Variables
    String AS400_ADDRESS = "xxx";
    String AS400_USERNAME = "xxx";
    String AS400_PASSWORD = "xxx";
    String AS400_LIBRARY_FILES = "STAMDAT";
    String AS400_LIBRARY_PROCEDURES = "STAMOBJ";

    // START: Connection Block
    Class.forName("com.ibm.as400.access.AS400JDBCDrive r");
    try {
    // Aufrufen der Standard Bilbiothek sollte hier immer die STAMDAT sein, denn sonst kann man bei den STORED Procedures auf Dateien in STAMDAT nicht darauf zugreifen !!!!
    the400 = DriverManager.getConnection("jdbc:as400://" + AS400_ADDRESS + "/" + AS400_LIBRARY_FILES, AS400_USERNAME, AS400_PASSWORD);
    System.out.println("Connection successful!");
    } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }

    // END: Connection Block

    try{

    // START: Call the Stored Procedure

    // getBet mit 5 mal inout Parametern numerisch und alpha mit Dateien:
    CallableStatement cstmt = the400.prepareCall("{CALL " + AS400_LIBRARY_PROCEDURES + ".SP_GETBEZ(?, ?, ?, ?, ?)}",
    ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);

    System.out.println(cstmt.toString());

    Die Sache mit dem SQLRPGLE-Serviceprogramm:

    Dazu muss man doch auf der iSeries einiges an Sourcen schreiben bzw. reinkopieren, damit man das ausführen kann, oder ? (laut hier im Forum und Google), bzw. was bringt das denn genau ???


    Lg
    Hannes

  3. #15
    Registriert seit
    Feb 2001
    Beiträge
    20.716
    Da braucht man nichts reinkopieren.
    Wichtig ist nur ggf. die Commit-Option per

    exec sql set options commit=*none;

    Alles andere bringt der Compiler automatisch mit (SQLCA, SQLCOD usw.).

    Bei der Prozedurdeklaration ist noch "contains SQL" erforderlich, das wars dann.

    Und SQL bringt einfach mehr Vorteile, die hier aufzuzählen sprengt den Rahmen.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

Similar Threads

  1. Problem mit Java-Methoden Aufruf aus ILE RPG?
    By Stoeberl in forum NEWSboard Programmierung
    Antworten: 8
    Letzter Beitrag: 10-01-07, 10:58
  2. Berechtigung für Stored Procedure
    By rebe in forum NEWSboard Programmierung
    Antworten: 6
    Letzter Beitrag: 12-10-06, 11:22
  3. Aufruf von Java Methode aus RPG
    By codierknecht in forum NEWSboard Java
    Antworten: 7
    Letzter Beitrag: 23-03-05, 08:31
  4. Java Stored Procedure
    By HeisigA in forum NEWSboard Programmierung
    Antworten: 10
    Letzter Beitrag: 21-02-05, 18:58
  5. Aufruf von Java Programm direkt aus RPG
    By mk in forum IBM i Hauptforum
    Antworten: 0
    Letzter Beitrag: 09-09-04, 08:22

Berechtigungen

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