db2 + jdbc

Pessoal, estou precisando fazer a conexão com um Banco DB2, mas não estou achando o JDBC para conectar com o Banco.
Alguem sabe onde posso encontrar, e se pra conectar com o DB2 somente o JDBC ja é o suficiente.

Olá,
O seu drive jdbc está na pasta .:
C:\IBM\SQLLIB\java
E vc.precisa do.:
db2jcc.jar e db2jcc_license_cu.jar ;

  • com.ibm.db2.jcc.DB2Driver

  • jdbc:db2://localhost:50000/nomedomeubanco

    E login e password…

    E vamo que vamo… :roll:

Ops…,
O site do download >;
http://www-306.ibm.com/software/data/db2/express/download.html

procure por…:
DB2 Driver for JDBC and SQLJ

Boa sorte.

E ai dr.
Baixei os arquivos, importei pras libraries, fiz a classe mas não está conectando.
Ai está a classe…

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class ConexaoDb2 {

public ConexaoDb2() {
    
    try {
        Class.forName("com.ibm.db2.jcc.DB2Driver").newInstance();
        Connection con = DriverManager.getConnection( "jdbc:db2://xxx.xxx.xxx.xxx:50000/banco", "usuario","senha");
        System.out.println("Conectado com Sucesso!!!");            
    } catch (SQLException sqle) {
        System.out.println("SQLException em ConexaoDb2.java " + sqle.getMessage());
    } catch (ClassNotFoundException npt) {
        System.out.println("ClassNotFoundException em ConexaoDb2.java " + npt.getMessage());
    } catch (InstantiationException inst) {
        System.out.println("InstantiationException em ConexaoDb2.java " + inst.getMessage());
    } catch (IllegalAccessException ile) {
        System.out.println("IllegalAccessException em ConexaoDb2.java " + ile.getMessage());
    }
    
    
    
}

}

E aqui está a exceção
SQLException em ConexaoDb2.java [ibm][db2][jcc][t4][2062][11279] A execução falhou devido a um erro de protocolo de distribuição que vai afetar a execução bem sucedida de comandos DDM ou instruções SQL subseqüentes.
Não foi possível estabelecer uma conexão com o banco de dados, porque o gerenciador 0x2407 no nível 0x3 não é suportado.

Olá Marcelo.

[quote] Class.forName(“com.ibm.db2.jcc.DB2Driver”).newInstance();
Connection con = DriverManager.getConnection( “jdbc:db2://xxx.xxx.xxx.xxx:50000/banco”, “usuario”,“senha”);
System.out.println(“Conectado com Sucesso!!!”); [/quote]Acho que vc. precisa refazer isso.:
dbc:db2://xxx.xxx.xxx.xxx:50000/banco .

Veja alguns exemplos e links.:
http://www-128.ibm.com/developerworks/db2/library/techarticle/dm-0404yang/

from java.lang import *
from java.sql import *
Class.forName(“com.ibm.db2.jcc.DB2Driver”).newInstance()
con = DriverManager.getConnection( ‘jdbc:db2://db2host:50000/sample’,‘vyang’,‘jythonrocks’)

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Eu faria de maneira diferente:

String DNS= “jdbc:db2://localhost:50000/test”;
String Usuario= “William”;
String Senha= “guj”;

não esqueca a class.forName(com.ibm.db2.jcc.DB2Driver);//

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Tem tambem o tutorial da Tata, que apesar de ser criado para conexão PoetrgeSQL, vc. pode usar como exemplo no seu teste.

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Nesse site o jairelton, tem um exemplo ótimo de conexão jdbc.:
http://jairelton.com/tutoriais/jdbc/index.html
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Depois que vc. tiver bem afinado, esqueça tudo e comece a fazer da maneira correta seguim o padrão dos Pattens, aqui no grupo vc. achará muitas discussões a respeito. Tenho visto algumas aplicações em empresas que utilizam esse tipo de acesso sem nenhum padrão e sobrecarregando métodos e mais métodos, portanto vou repetir use somente esses exemplos como estudo.
Eu costumo fazer de maneira diferente e, uso também ORM. Mais vc.deve estudar mais JDBC ok.

Qualquer dúvida retorne ok…

Bom pessoal, a classe que fiz está correta, o problema é que está faltando um arquivo pra importar na librarie do jdbc para o db2.
O Tal arquivo é o db2jcc_license_cisuz.jar, e não encontro em lugar algum…
Alguem sabe onde localizar?

Marcelo,
Vc. deve estar usando o DB2 para z/OS ou OS/390, tente verificar no seu diretório “\java” ou tente renomear o arquivo “db2jcc_license_cu”.

Já faltou mais né… :wink: