Olá pessoal!
Quero conectar, de uma estação PC, um banco de dados "Books" no servidor AS/400:
- Como devo configurar o <String url>?
- Como posso definir a classe <Class.forName()>?
Também baixei o driver jt400.jar no site da IBM
(http://www-1.ibm.com/servers/eserver/iseries/toolbox/):
- Em que diretório devo colocá-lo?
- Devo referenciá-lo no código do programa?
Obrigado!
Que banco de dados vc está usando? Vc sabe qual o IP do servidor? Diz aê que a galera pode ajudar melhor!
valeuz…
O banco de dados nativo do servidor é o DB2/400, codifiquei a conexão da seguinte forma:
String url = "jdbc:as400://10.32.18.50:BOOKS";
String username = "anonymous";
String password = "guest";
try {
Class.forName( "com.ibm.as400.access.AS400JDBCDriver" );
connection = DriverManager.getConnection(url, username, password );
}
Porém estou recebendo a seguinte mensagem de erro:
Failed to load JDBC driver.
java.lang.ClassNotFoundException: com.ibm.as400.access.AS400JDBCDriver
at java.net.URLClassLoader$1.run(URLClassLoader.java:198)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:186)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:265)
at java.lang.ClassLoader.loadClass(ClassLoader.java:262)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:322)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:130)
at TesteBooks.<init>(TesteBooks.java:32)
at TesteBooks.main(TesteBooks.java:151)
Estou usando o Eclipse 2.1 e configurei o autoexec.bat da seguinte forma:
SET JAVA_HOME=C:j2sdk1.4.0_03
SET PATH=%PATH%;%JAVA_HOME%bin
SET CLASSPATH=.;%JAVA_HOME%;C:jt400libjt400.jar;
O que pode ser?
ramires
Bem, não vejo nada de errado no seu codigo. Entretanto, sugiro que vc coloque o driver no diretorio JAVA_HOME/jre/lib/ext. Desse modo, vc não precisará coloca-lo no seu path. Sugiro tambem que vc veja um codigo exemplo de como usar o driver em http://publib.boulder.ibm.com/iseries/v5r2/ic2924/index.htm?info/rzahh/javadoc/JDBCQueryExample.html.
Nesse site ele carrega o driver de maneira diferente que é:
// Load the IBM Toolbox for Java JDBC driver.
DriverManager.registerDriver(new com.ibm.as400.access.AS400JDBCDriver());
O que ele está fazendo é registrando o driver. Acontece que quando vc usa:
Class.forName( "com.ibm.as400.access.AS400JDBCDriver" );
o driver é automaticamente carregado e registrado.
De qualquer forma veja o exemplo. Pode ser util. Ah, veja tambem a documentação do driver em http://publib.boulder.ibm.com/iseries/v5r2/ic2924/info/rzahh/javadoc/com/ibm/as400/access/AS400JDBCDriver.html
valeuz…