Ottersberg
21-04-08, 13:36
jar's sind wie Verzeichnisse zu sehen.
Sie gehören also in den Classpath hinein:
java -classpath "/QIBM/ProdData/Java400/jdk14/bin:/Java/hello.jar" Hello.
Da hab ich jetzt wieder was dazu gelernt. Ich wußte nicht, dass man das bis auf die Datei nach unten angeben muss. Ich dachte immer der Ordner würde reichen.
Hallo,
ad java, javac, ...
- das steht in jeder Java Doku drin (Tooldocs)
- einen guten Einsteiger Kurs hier:
Java Einfuehrung - Kursunterlage (http://www.boku.ac.at/javaeinf/jein.html)
- soweit es As400 Spezifika gibt, findet man die hier:
http://publib.boulder.ibm.com/infocenter/iseries/v5r4/topic/rzaha/rzaha.pdf
ad oracle und co:
auch das ist kein Hexenwerk, was stimmen muss ist classpath, Treibername und url (und die Versionen von Treiber Datenbank und Java müssen passen).
Auch hierzu gibt es wie überall im Bereich Java massig Information (mit Tutorial und JDBC mr. Google fragen) und die Doku des Treibers enthält neben den Infos über url und Treibername auch elementare Beispiele.
Im übrigen ist es sinnvoll bei solchen Fragen ein wenig Code mit beizufügen, damit man sieht, wos klemmt.
mfg
Dieter Bender
Danke dir. Ich werd mir das mal ansehen. Ich hatte zu dem Thema AS/400 auch noch das Redbook "Building Java Applications for the iSeries Server" gefunden. Ist zwar schon was älter hatte aber doch ein paar nützliche Hinweise.
Ich möchte aber nochmal zur Geschwindigkeit kommen. Die hat sich nicht verbessert.
Die erste Ausgabe "Inhalt der AS/400" kommt nach 30 Sekunden.
Die zweite Ausgabe "Treiber geladen" nach 60 Sekunden gefolgt von der Datenbankausgabe und der Ausgabe "Inhalt von MSSQL".
Die Ausgabe "Treiber geladen" und die zweite Datenbankausgabe dann nach 90 Sekunden.
Die Tabellen sind identisch und haben jeweils 23 Zeilen.
Ich starte das mit folgendem Befehl:
java -classpath "/QIBM/ProdData/HTTP/Public/jt400/lib/jt400.jar:/Java/jtds-1.2.2.jar:/Java/Lesetest.jar" Lesetest
Das bezieht sich auf folgenden Code:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class Lesetest {
public static void main(String[] args)
{
String system = "[i5-Name]:80";
String userId = "[user]";
String password = "[passwort]";
String url = "jdbc:as400://" + system + ";translate binary=true";
try {
System.out.println("Inhalt der AS/400:");
Class.forName("com.ibm.as400.access.AS400JDBCDriver");
Connection conn = DriverManager.getConnection(url,userId, password);
System.out.println("Treiber geladen");
Statement stmt=conn.createStatement();
ResultSet rs=stmt.executeQuery("select * from [Tabelle]");
while (rs.next())
{
System.out.print(rs.getString(1)+" - ");
System.out.print(rs.getString(2)+" - ");
System.out.print(rs.getInt(3)+" - ");
System.out.print(rs.getString(4)+" - ");
System.out.print(rs.getInt(5)+" - ");
System.out.print(rs.getInt(6)+" - ");
System.out.print(rs.getInt(7)+" - ");
System.out.print(rs.getInt(8)+" - ");
System.out.print(rs.getInt(9)+" - ");
System.out.print(rs.getInt(10)+" - ");
System.out.print(rs.getInt(11)+" - ");
System.out.println(rs.getInt(12));
}
conn.close();
System.out.println("");
System.out.println("Inhalt von MSSQL:");
Class.forName("net.sourceforge.jtds.jdbc.Driver");
String typ = "sqlserver";
system = "[System-Name]";
String datenbank = "[DB-Name]";
userId = "[User]";
password = "[Passwort]";
url = "jdbc:jtds:" + typ
+ "://" + system
+ "/" + datenbank
+ ";user=" + userId
+ ";password=" + password;
Connection conn2 = DriverManager.getConnection(url);
System.out.println("Treiber geladen");
Statement stmt2=conn2.createStatement();
ResultSet rs2=stmt2.executeQuery("select * from [Tabelle]");
while (rs2.next())
{
System.out.print(rs2.getString(1)+" - ");
System.out.print(rs2.getString(2)+" - ");
System.out.print(rs2.getInt(3)+" - ");
System.out.print(rs2.getString(4)+" - ");
System.out.print(rs2.getInt(5)+" - ");
System.out.print(rs2.getInt(6)+" - ");
System.out.print(rs2.getInt(7)+" - ");
System.out.print(rs2.getInt(8)+" - ");
System.out.print(rs2.getInt(9)+" - ");
System.out.print(rs2.getInt(10)+" - ");
System.out.print(rs2.getInt(11)+" - ");
System.out.println(rs2.getInt(12));
}
conn2.close();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
Sie gehören also in den Classpath hinein:
java -classpath "/QIBM/ProdData/Java400/jdk14/bin:/Java/hello.jar" Hello.
Da hab ich jetzt wieder was dazu gelernt. Ich wußte nicht, dass man das bis auf die Datei nach unten angeben muss. Ich dachte immer der Ordner würde reichen.
Hallo,
ad java, javac, ...
- das steht in jeder Java Doku drin (Tooldocs)
- einen guten Einsteiger Kurs hier:
Java Einfuehrung - Kursunterlage (http://www.boku.ac.at/javaeinf/jein.html)
- soweit es As400 Spezifika gibt, findet man die hier:
http://publib.boulder.ibm.com/infocenter/iseries/v5r4/topic/rzaha/rzaha.pdf
ad oracle und co:
auch das ist kein Hexenwerk, was stimmen muss ist classpath, Treibername und url (und die Versionen von Treiber Datenbank und Java müssen passen).
Auch hierzu gibt es wie überall im Bereich Java massig Information (mit Tutorial und JDBC mr. Google fragen) und die Doku des Treibers enthält neben den Infos über url und Treibername auch elementare Beispiele.
Im übrigen ist es sinnvoll bei solchen Fragen ein wenig Code mit beizufügen, damit man sieht, wos klemmt.
mfg
Dieter Bender
Danke dir. Ich werd mir das mal ansehen. Ich hatte zu dem Thema AS/400 auch noch das Redbook "Building Java Applications for the iSeries Server" gefunden. Ist zwar schon was älter hatte aber doch ein paar nützliche Hinweise.
Ich möchte aber nochmal zur Geschwindigkeit kommen. Die hat sich nicht verbessert.
Die erste Ausgabe "Inhalt der AS/400" kommt nach 30 Sekunden.
Die zweite Ausgabe "Treiber geladen" nach 60 Sekunden gefolgt von der Datenbankausgabe und der Ausgabe "Inhalt von MSSQL".
Die Ausgabe "Treiber geladen" und die zweite Datenbankausgabe dann nach 90 Sekunden.
Die Tabellen sind identisch und haben jeweils 23 Zeilen.
Ich starte das mit folgendem Befehl:
java -classpath "/QIBM/ProdData/HTTP/Public/jt400/lib/jt400.jar:/Java/jtds-1.2.2.jar:/Java/Lesetest.jar" Lesetest
Das bezieht sich auf folgenden Code:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class Lesetest {
public static void main(String[] args)
{
String system = "[i5-Name]:80";
String userId = "[user]";
String password = "[passwort]";
String url = "jdbc:as400://" + system + ";translate binary=true";
try {
System.out.println("Inhalt der AS/400:");
Class.forName("com.ibm.as400.access.AS400JDBCDriver");
Connection conn = DriverManager.getConnection(url,userId, password);
System.out.println("Treiber geladen");
Statement stmt=conn.createStatement();
ResultSet rs=stmt.executeQuery("select * from [Tabelle]");
while (rs.next())
{
System.out.print(rs.getString(1)+" - ");
System.out.print(rs.getString(2)+" - ");
System.out.print(rs.getInt(3)+" - ");
System.out.print(rs.getString(4)+" - ");
System.out.print(rs.getInt(5)+" - ");
System.out.print(rs.getInt(6)+" - ");
System.out.print(rs.getInt(7)+" - ");
System.out.print(rs.getInt(8)+" - ");
System.out.print(rs.getInt(9)+" - ");
System.out.print(rs.getInt(10)+" - ");
System.out.print(rs.getInt(11)+" - ");
System.out.println(rs.getInt(12));
}
conn.close();
System.out.println("");
System.out.println("Inhalt von MSSQL:");
Class.forName("net.sourceforge.jtds.jdbc.Driver");
String typ = "sqlserver";
system = "[System-Name]";
String datenbank = "[DB-Name]";
userId = "[User]";
password = "[Passwort]";
url = "jdbc:jtds:" + typ
+ "://" + system
+ "/" + datenbank
+ ";user=" + userId
+ ";password=" + password;
Connection conn2 = DriverManager.getConnection(url);
System.out.println("Treiber geladen");
Statement stmt2=conn2.createStatement();
ResultSet rs2=stmt2.executeQuery("select * from [Tabelle]");
while (rs2.next())
{
System.out.print(rs2.getString(1)+" - ");
System.out.print(rs2.getString(2)+" - ");
System.out.print(rs2.getInt(3)+" - ");
System.out.print(rs2.getString(4)+" - ");
System.out.print(rs2.getInt(5)+" - ");
System.out.print(rs2.getInt(6)+" - ");
System.out.print(rs2.getInt(7)+" - ");
System.out.print(rs2.getInt(8)+" - ");
System.out.print(rs2.getInt(9)+" - ");
System.out.print(rs2.getInt(10)+" - ");
System.out.print(rs2.getInt(11)+" - ");
System.out.println(rs2.getInt(12));
}
conn2.close();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
}