[Progress] Verbinding maken met JDBC

Pagina: 1
Acties:

  • Theodoor
  • Registratie: Juni 1999
  • Laatst online: 17-03 10:50
Op mijn werk heb ik een Progress database staan. Hiermee wil ik via JDBC een verbinding opzetten. Na het uitvoeren van een SELECT-statement wordt er een SQLException gegooid. Ik krijg dit als melding op het scherm:
[JDBC Progress Driver]:193

Weet iemand wat die code 193 betekent?

  • elevator
  • Registratie: December 2001
  • Niet online

elevator

Officieel moto fan :)

Probeer je dit vanuit de SQL Explorer van Progess zelf?

Meestal krijg je iets uitgebreidere foutmeldingen is mijn ervaring? :)

  • Theodoor
  • Registratie: Juni 1999
  • Laatst online: 17-03 10:50
Het bizarre is dat vanuit de SQL Explorer zelf alles goed gaat. Het gaat mis in een zelfgeschreven Java applicatie:

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
String url = "jdbc:JdbcProgress:T:localhost:2550:dbnaam";
String userid = "gebruikersnaam";
String passwd = "wachtwoord";
try {
        Class.forName ("com.progress.sql.jdbc.JdbcProgressDriver");
        con = DriverManager.getConnection(url, userid, passwd);
}
catch (ClassNotFoundException e) {
        System.err.println("Klasse niet gevonden!");
}
catch (SQLException e) {
        System.err.println(e.getMessage());
}

String sqlquery = "SELECT tabelnaam.\"veld-3\" as veld3 FROM owner.tabelnaam WHERE tabelnaam.\"veld-1\"="+nummertje1+" AND tabelnaam.\"veld-2\"="+nummertje2;
System.out.println(sqlquery);

try {
PreparedStatement pstmt = con.prepareStatement(sqlquery);
ResultSet resultaatset = pstmt.executeQuery();

if (resultaatset != null) {
    String resultaat = (String) resultaatset.getObject("veld3");
    System.out.println("De inhoud van veld 3 is: " + resultaat);
}
else {
     System.out.println("Er is geen resultaat.");
}
}
catch (SQLException e) {
     System.err.println("Er is een SQL fout opgetreden!");
     e.printStackTrace(System.out);
     System.err.println("De errorcode is: "+ e.getErrorCode());
}


Het gaat mis bij String resultaat = (String) resultaatset.getObject("veld3");
Dan verschijnt dit op het scherm:
Er is een SQL fout opgetreden!
java.sql.SQLException: [JDBC Progress Driver]:193
at com.progress.sql.jdbc.JdbcProgress.createSQLException(JdbcProgress.java:6501)
at com.progress.sql.jdbc.JdbcProgress.standardError(JdbcProgress.java:6675)
at com.progress.sql.jdbc.JdbcProgress.SQLGetUTFDataString(JdbcProgress.java:3649)
at com.progress.sql.jdbc.JdbcProgressResultSet.getDataString(JdbcProgressResultSet.java:5580)
at com.progress.sql.jdbc.JdbcProgressResultSet.getString(JdbcProgressResultSet.java:323)
at com.progress.sql.jdbc.JdbcProgressResultSet.getObject(JdbcProgressResultSet.java:1733)
at com.progress.sql.jdbc.JdbcProgressResultSet.getObject(JdbcProgressResultSet.java:1798)
at db.SchoolplusRead.getAchternaamLeerling(SchoolplusRead.java:62)
at db.SchoolplusTest.main(SchoolplusTest.java:16)
De errorcode is: 0

[ Voor 32% gewijzigd door Theodoor op 27-04-2004 00:37 ]


  • Theodoor
  • Registratie: Juni 1999
  • Laatst online: 17-03 10:50
Het probleem is opgelost. Het bleek dat ik voordat ik dit uitvoer:
code:
1
String resultaat = (String) resultaatset.getObject("veld3");


nog een
code:
1
resultaatset.next();

moet doen. Dat was ik even vergeten.