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:
- Em que diretório devo colocá-lo?
- Devo referenciá-lo no código do programa?

Obrigado!

Bom … o .jar vc pode colocar onde quiser, desde que vc referencie corretamente a localização deste arquivo na variável de ambiente CLASSPATH.

exemplo:

set JAVA_HOME=d:/j2sdk1.4.1_01
set CLASSPATH=.;%JAVA_HOME%;D:/qqdiretorio/jt400.jar;

Agora as outras perguntas vou ficar te devendo … acredito que o site onde vc baixou deve ter informações sobre isso … me passe exatamente o site, que eu dou uma olhada …

falow

http://www-1.ibm.com/servers/eserver/iseries/toolbox/

:!: Consegui um pequeno progresso mas ainda preciso e ajuda:

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

Kra a linha que carrega o driver está certinha:

Class.forName( "com.ibm.as400.access.AS400JDBCDriver" ); 

porém, a linha da string de conexao q vc usou nao sei se está certa:

jdbc:as400://10.32.18.50:BOOKS

este IP representa um AS400 System ? segundo dados na pagina q me passou deveria ser um System (ou IP do System) que vc criou …

E o que significa o termo BOOKS ? o nome de uma tabela ou o nome de uma biblioteca no AS400 ? Acho q isso não deveria ser feito aí, mas sim nos comandos SQL q vc vai passar pra conexao …

Naquela página indica que a string de conexao além do AS400 System deveria passar um conjunto atributo+valor ou seja, suponha q vc quisesse passar na string de conexao um nome de usuario e senha, acho q ficaria assim:

jdbc:as400://10.32.18.50;UID=TESTE;PWD=123;

obs: nao sei se o usuario é representado pelo atributo UID ou USER, pesquise isso.

outra coisa, segundo o erro q está dando, aparentemetne indica é que ele não está achando as classes/driver do AS400, ou seja, parece q o CLASSPATH não está apontando corretamente pro seu jt400libjt400.jar … este arquivo está realmente no C: conforme vc indicou ?

falow