Toon posts:

[Java] Aanroepen procedure op AS/400 not valid

Pagina: 1
Acties:
  • 131 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Dag Tweakers,

Ik ben op dit moment een Client/server Java applicatie aan het maken. Deze maakt gebruik van een ms-sql server. Dat terzijde.

Om de juiste gegevens regelmatig te kunnen update moet ik verbindingen maken met een AS/400.

Na wat gepuzzel en gegoogle is het me gelukt om de verbinding op te zetten. Echter als ik nu probeer de procedure aan te roepen krijg ik de volgende meldingen.

[SQL0204] SLO_COVERX in PNL001MO type *N not found.

Daarom dacht ik dat ie de procudure niet kan vinden dus besloot ik om de procedure stock aan te gaan roepen echter dan krijg ik de melding

Cursor state not valid.


Kan iemand me een duwtje in de goede richting geven want google wilt me nu niet echt meer helpen :-(

  • Cuball
  • Registratie: Mei 2002
  • Laatst online: 03-02 20:14
maak je een verbinding naar de SQL (DB2) omgeving van de AS400 of ga je effectief een native programma op de AS400 oproepen ?

"Live as if you were to die tomorrow. Learn as if you were to live forever"


Verwijderd

Topicstarter
Cuball schreef op donderdag 05 oktober 2006 @ 11:26:
maak je een verbinding naar de SQL (DB2) omgeving van de AS400 of ga je effectief een native programma op de AS400 oproepen ?
Even langs de zijlijn ik weet helemaal niets over de AS/400 ik weet alleen dat die in buitenland staat en dat ze via de as400 toolkit een call uitvoeren en dan die gegevens als output gebruik worden.

Nu wil ik gewoon in mijn code die procedure aanroepen en de resultaten op de sleutel vergelijken en dan een update procudere op mijn server uitvoeren.

Dus denk dat ik een native procedure op de server wil uitvoeren

  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 10-02 17:10

Gerco

Professional Newbie

Welke classes gebruik je om die verbinding te maken en je procedure aan te roepen? Als je de JDBC driver gebruikt kun je misschien geen native procedures uitvoeren. Gebruik je de As400 class kan dat wel, maar ik weet niet of die ook buiten de server werkt.

Met andere woorden: Show us the code.

[ Voor 7% gewijzigd door Gerco op 05-10-2006 11:36 ]

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


Verwijderd

Topicstarter
Gerco schreef op donderdag 05 oktober 2006 @ 11:36:
Welke classes gebruik je om die verbinding te maken en je procedure aan te roepen? Als je de JDBC driver gebruikt kun je misschien geen native procedures uitvoeren. Gebruik je de As400 class kan dat wel, maar ik weet niet of die ook buiten de server werkt.

Met andere woorden: Show us the code.
Ik heb gisteren aardig wat op de ibm site gelezen en toen dus uiteindelijk JTopen gedownload en maak dus gebruik van de As400 jdbc Brug ??.

Was al best blij toen ik connectie :P ook al ziet dat er eigenlijk niet spannend uit ;)

maar hier dan mijn code

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
  public String connect()throws SQLException
  {
    connect = null;
    stmt = null;
      try {
        DriverManager.registerDriver(new com.ibm.as400.access.AS400JDBCDriver());
        connect = DriverManager.getConnection("jdbc:as400://ip",
                                            "userId", "pasword");
      }

     catch(SQLException e){
       System.err.println(e);
     }
     finally {

           if (connect != null) {
              stmt = connect.createStatement();
              System.out.println("Connected  As/400 uitgevoerd");
             return "Connected";
       }
       else
             return null;

         }

  }

  public void readPartDataAs400()throws SQLException
  {
    proc = connect.prepareCall("{call pnl001mo.stock}");
    ResultSet rs = (ResultSet) proc.executeQuery();
   while (rs.next()) {
      System.out.println("test");
    }
    rs.close();

  }
}

  • reddevil
  • Registratie: Februari 2001
  • Laatst online: 06-10-2025
als je iets van select 1+1 uitvoert ofzo, doet ie het dan wel?

  • Cuball
  • Registratie: Mei 2002
  • Laatst online: 03-02 20:14
Je maakt dus een verbinding naar de SQL (db2) omgeving via deze methode...

Je zal meerdere settings moeten ingeven denk ik zoals :

-het adres van de server
-username
-password
-waarschijnlijk ook een library

"Live as if you were to die tomorrow. Learn as if you were to live forever"


Verwijderd

Topicstarter
Cuball schreef op donderdag 05 oktober 2006 @ 12:21:
Je maakt dus een verbinding naar de SQL (db2) omgeving via deze methode...

Je zal meerdere settings moeten ingeven denk ik zoals :

-het adres van de server
-username
-password
-waarschijnlijk ook een library
Dacht dat ik dat ook deed.

De connection is oke (en geef hier ip, username en password op)
De waarde die ik terugkrijg is de juiste verbindingen en niet null

Ik dact dat ik in mijn call door de waarde voor de . dus PXXXX.STOCK de library aangeef

Zie ik nu iets over het hoofd ?

Verwijderd

Topicstarter
reddevil schreef op donderdag 05 oktober 2006 @ 12:12:
als je iets van select 1+1 uitvoert ofzo, doet ie het dan wel?
Ga even achter de namen van de tables aan zodat ik een select query zou kunnen uitvoeren

Want ik heb alleen deze procedure doorgekregen
Pagina: 1