pessoal…num sei que arquivo devo colocar no meu path para conectar ao banco oracle???
esto usando esses dois:
ojdbc14.jar e nls_charset12.jar
é isso?
meu código tá assim:
packagedboracle;importjava.sql.*;classJdbcTest{publicstaticvoidmain(Stringargs[])throwsSQLException{// Load Oracle driverDriverManager.registerDriver(neworacle.jdbc.OracleDriver());// Connect to the local databaseConnectionconn=DriverManager.getConnection("jdbc:oracle:oci8:banco","usuario","senha");// Query the employee names Statementstmt=conn.createStatement();ResultSetrset=stmt.executeQuery("select * from tabela");// Print the name out while(rset.next())System.out.println(rset.getString(1));}}
Então, o arquivo q vc parece ter ( ojdbc14.jar) é o que contém o driver Oracle Thin, então sugiro q vc tente fazer a conexão com ele mesmo.
De qualquer forma, se vc tem um oracle 9i, para usar o driver OCI a connection string deveria ser algo como
"jdbc:oracle:oci:banco"
e não
"jdbc:oracle:oci8:banco"
(o driver oci8 é para oracle 8)
Tente usar
jdbc:oracle:thin:host:sid
onde “sid” é o System Identifier do database. O sid pode ser encontrado em um arquivo chamado “tnsnames.ora”, que fica em uma das pastas de instalçao do oracle.
L
Luiz-SP
Então…agora entendi o que vc disse, mas meu problema é na hora de carregar o drive, entretanto, acho que eu ia ter esse problema mais tarde eheheh…
N
neofito
Ah, eu estive dando uma olhada nas documentações q eu tenho aqui e fiquei mais confuso ainda… olha só, para vc conectar usando o driver Oracle Thin, é daquele jeito lá que eu mostrei, mas para conectar com o driver OCI não posso te dizer pq nunca usei…
Parece que para usar o driver OCI vc tem que ter alguma coisa da oracle instalada na sua máquina, já que esse driver não é 100% java (ele usa código nativo para se comunicar com o oracle - JNI).
o arquivo é o ocrs12.zip, mas pra por ele no classpath remonei ele para ocrs12.jar e funcionou....
então para registro e futuras dúvidas, meu classpath tem:
ojdbc14.jar e ocrs14.jar
minha classe
packagedboracle;importjava.sql.*;classJdbcTest{publicstaticvoidmain(Stringargs[])throwsSQLException{// Load Oracle driverDriverManager.registerDriver(neworacle.jdbc.OracleDriver());// Connect to the local databaseConnectionconn=DriverManager.getConnection("jdbc:oracle:thin:@o endereço Ip do banco:1521:nome do banco","usuário","senha");// Query the employee namesStatementstmt=conn.createStatement();ResultSetrset=stmt.executeQuery("select * from tabela");// Print the name outwhile(rset.next())System.out.println(rset.getString(1));}}
P
PadrE
De qualquer forma, se vc tem um oracle 9i, para usar o driver OCI a connection string deveria ser algo como
Code:
“jdbc:oracle:oci:banco”
e não
Code:
“jdbc:oracle:oci8:banco”
(o driver oci8 é para oracle 8)
Tente usar
Code:
jdbc:oracle:thin:host:sid
E no 10g xe, como devo utilizar ???
jdbc:oracle:thin:host:sid
ou
jdbc:oracle:oci:banco
???
vlw !
O
oyama
PadrE:
E no 10g xe, como devo utilizar ???
jdbc:oracle:thin:host:sid
ou
jdbc:oracle:oci:banco
???
vlw !
Não é a versão do Oracle Server (8i, 9i 10g, 10g XE, Personal, etc) que vai determinar qual tipo de driver utilizar. Todas as versões suportam tanto conexão com client thin como OCI. Se onde você for rodar o seu programa não tiver um “Oracle client” (instalação de umas libs em codigo nativo de cada plataforma), use sempre o thin. Só use drive OCI em sistemas que necessitem de performance ou que rodem no Oracle IAS, pois só com este drive é possível usar de maneira correta um Oracle RAC.
Resumindo: use sempre o client thin. Só use OCI se for Oracle IAS ou o projeto exigir.
P
PadrE
oyama,
vlw os exclarecimentos… vou colocar tudo com thin no projeto e ver se ocorre algum problema…
Se vc souber algum material q fale sobre essas diferenças de conexão eu agradeceria… justamente para ver se o projeto vai mesmo precisar usar OCI ou mesmo para que eu veja qual a melhor conexão no meu caso…
Qlqr problema volto a postar e tb coloco as conslusões sobre o problema…
vlw !
P
PadrE
Bom… não sei como fazer a conexão via OCI com o oracle 10g xe local…
=[ Se alguem souber de sobre algum tutorial, agradeço…
Para solucionar meu problema, acabei alterando a conexão OCI para Thin… o que deu certo…
Abaixo alguns link’s sobre o assunto… e tb sobre qual a melhor forma de Conexão… OCI vs Thin
Se vc souber algum material q fale sobre essas diferenças de conexão eu agradeceria… justamente para ver se o projeto vai mesmo precisar usar OCI ou mesmo para que eu veja qual a melhor conexão no meu caso…
vlw !
Não sei se tem claramente quais são as vantagens e desvantagens de se usar um método ou outro, mas teoricamante via OCI deveria ser mais rápido. A única vez que tivemos real necessidade de usar o drive OCI foi para conectar em um Oracle RAC no Oracle IAS 10g (parace que o balanceamneto de carga no IAS só funciona se for OCI).
P
PadrE
Nossa… agora surgiu uma duvida que estou ate com medo !
o ORACLE RAC seria um banco em Cluster… ate ai tudo bem, pq uso o Espress e ele não da suporte a Cluster…
Agora,… um ORACLE IAS seria um banco ORACLE acessado via web… e o uso da OCI seria para controlar isso ??
Minha aplicação será acessada por um client, ou seja… tenho uma parte server, e a parte client… aoh falta eu ter q utilizar OCI e o Expressa não da suporte a isso… ai dancei … hehe
Bom… vou continuar tentando realizar a conexão OCI no 10g Express local… mas vou torcer para não precisar… ^^
O
oyama
PadrE:
Nossa… agora surgiu uma duvida que estou ate com medo !
o ORACLE RAC seria um banco em Cluster… ate ai tudo bem, pq uso o Espress e ele não da suporte a Cluster…
Certo.
Não. Oracle IAS é o Application Server da Oracle (equivalente ao JBoss, WebSphere da IBM, Weblogic da BEA, Glassfish, etc). Pode-se tanto usar OCI como thin para conectar do IAS a um banco Oracle. O recomendado é usar OCI.
PadrE:
Minha aplicação será acessada por um client, ou seja… tenho uma parte server, e a parte client… aoh falta eu ter q utilizar OCI e o Expressa não da suporte a isso… ai dancei … hehe
Bom… vou continuar tentando realizar a conexão OCI no 10g Express local… mas vou torcer para não precisar… ^^
De novo, esqueça conexão OCI. Use thin. Se você usa Oracle 10g Express dificilmente vai ter que usar OCI.
P
PadrE
oyama,
Cara, valeu mesmo por tirar minha dúvidas… eu acabei convertendo tudo para thin mesmo… e até agora não tivemos problemas… hehe
Vlw !
“O Conhecimento o Libertará !”
T
tiagonazare
Pessoal to tentando fazer o seguinte: logar com o usuario system, pra depois criar novos usuários…
Foi uma “missão” que o professor de BD deixou pra gente.
Usei o codigo abaixo, pra testar se conseguia entrar como “system”, só que aparece a seguinte mensagem:
class JdbcTest {
public static void main(String args[]) throws SQLException {
// Load Oracle driver DriverManager.registerDriver(neworacle.jdbc.OracleDriver());// Connect to the local database Connectionconn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:8080/apex/:ex","system","12345");// Query the employee names Statementstmt=conn.createStatement();ResultSetrset=stmt.executeQuery("select * from clientes");// Print the name out while(rset.next())System.out.println(rset.getString(1));}
}
N
neohacker
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521/apex/:ex",
"system", "12345");
Tente usar a porta 1521.
8)
T
tiagonazare
neohacker:
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521/apex/:ex",
"system", "12345");
Tente usar a porta 1521.
8)
Eu acabei de fizer isso… mesmo assim valeu!!! :lol:
Só peço um favor, eu consegui criar usuário, mas queria criar uma telinha pra isso… to apanhando. To mexendo no Jcreator, ele não é bom pra fazer “parte gráfica”?
Se alguem tiver um código pra criar usuario com uma tela “grafica” com campos “nome” e “senha” e botão “ok”, ficarei agradecido.
flws
Erro: Exceção de E/S: The Network Adapter could not establish the connection
Vocês sabem me dizer o que eu estou fazendo de errado? Eu baixei o ojdbc14.jar do site da oracle
Eu uso o oracle 10g, estou na minha máquina, tentando acessar um servidor no meu serviço, a xvr60, como mostrado acima.
Agradeço qualquer ajuda!!!
O
oyama
Este erro refere-se a problema de conexão (rede). Podem ser vários fatores:
Oracle fora do ar
Listener do Oracle fora do ar
Porta errada
Firewall
DNS
etc…
Tente verificar estes problemas sem usar o seu programa (telnet, ping, Squirrel, etc)…
M
musquita_zzz
em casa no note funciona, mas só depois que eu coloquei o drive da oracle, o .jar dentro da pasta web-inf/lib.
Mas aqui no meu serviço não, não sei se tem que ser um drive específico, pois no note o banco é local, aqui eu acesso o servidor. As configurações estão certas… Não sei o que pode ser.
Obrigada
O
oyama
Nós, menos ainda…
musquita_zzz:
em casa no note funciona, mas só depois que eu coloquei o drive da oracle, o .jar dentro da pasta web-inf/lib.
Mas aqui no meu serviço não, não sei se tem que ser um drive específico, pois no note o banco é local, aqui eu acesso o servidor. As configurações estão certas…
Isto reforça o que eu disse anteriormente: o problema não é do seu programa, mas de infra-estrutura (rede, servidor, etc)
Você tem experiência com redes/firewall/DNS/administração Oracle? Consegue testar se dá sua máquina você consegue acessar a porta especificada? Tentou testar via número IP ao invés do nome do servidor? O servidor está na mesma rede interna da sua máquina? É Windows (XP, Vista, etc), Linux, outro Unix o servidor e a sua máquina? Outra aplicação na sua máquina consegue acessar o servidor Oracle? Tentou acessar aquela URL de conexão usando algum outro software do tipo do Squirrel? Sabe o que significa cada um dos parâmetros da URL de conexão (server:port:instancia)?