Jdbc - as/400

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…