| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/04/2007 13:07:07
|
RicardoLuis
JavaEvangelist
Membro desde: 12/08/2003 14:47:56
Mensagens: 393
Localização: Cuiabá / MT
Offline
|
Olá a todos...
Estou com um problema e nem com muita pesquisa consegui resolver. Para eu me conectar a um banco de dados Oracle, eu utilizo a seguinte string de conexão:
Porém, no SGBD eu tenho criado vários bancos, como o BDLOCAL, BDBACKUP, etc. Como que eu faço para me conectar a um destes bancos? Porque na string de conexão eu não o determino, eu defino apenas o SID, no meu caso ORCL. E eu estava dando uma olhada no arquivo tnsnames.ora, e o SID de todos os bancos de dados é o mesmo.
Como faço para me conectar a um banco específico?
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/04/2007 13:34:36
|
nandobgi
Java Ninja
![[Avatar]](/images/avatar/45ab12afa05e563bb484781693dffc87.jpg)
Membro desde: 27/03/2006 07:27:06
Mensagens: 282
Localização: Sampa
Offline
|
Tente fazer dessa forma
Abraços
|
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/04/2007 13:36:04
|
RicardoLuis
JavaEvangelist
Membro desde: 12/08/2003 14:47:56
Mensagens: 393
Localização: Cuiabá / MT
Offline
|
nandobgi wrote:Tente fazer dessa forma
Abraços
Olá... Obrigado pela resposta...
Mas assim, o segundo parâmetro que você cita não seria o nome de usuário?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/04/2007 13:41:39
|
nandobgi
Java Ninja
![[Avatar]](/images/avatar/45ab12afa05e563bb484781693dffc87.jpg)
Membro desde: 27/03/2006 07:27:06
Mensagens: 282
Localização: Sampa
Offline
|
Olá... Obrigado pela resposta...
Mas assim, o segundo parâmetro que você cita não seria o nome de usuário?
Desculpe ricardo eu confundi pois o nome do banco e do user são iguais, aqui só utilizo um banco fico te devendo essa.
Abraços
|
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/04/2007 13:43:48
|
nandobgi
Java Ninja
![[Avatar]](/images/avatar/45ab12afa05e563bb484781693dffc87.jpg)
Membro desde: 27/03/2006 07:27:06
Mensagens: 282
Localização: Sampa
Offline
|
Ricardo dá uma olhada nessa post, talvez possa te ajudar
http://www.guj.com.br/posts/list/39085.java
Abraços
|
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/04/2007 13:50:13
|
oyama
Virtual Machine Man
Membro desde: 19/04/2005 10:11:09
Mensagens: 572
Offline
|
RicardoLuis wrote:
Porém, no SGBD eu tenho criado vários bancos, como o BDLOCAL, BDBACKUP, etc. Como que eu faço para me conectar a um destes bancos? Porque na string de conexão eu não o determino, eu defino apenas o SID, no meu caso ORCL. E eu estava dando uma olhada no arquivo tnsnames.ora, e o SID de todos os bancos de dados é o mesmo.
Como faço para me conectar a um banco específico?
Vamos a um pouco de teoria: ao instalar um servidor Oracle de base de dados (SGBD), você pode instalar uma ou mais instancias. Cada instancia é identificada por um SID. No TNSNAMES.ORA você cria "alias" para acessar uma instancia, identificando também o servidor (IP ou nome) e porta. Se no seu SGDB tem várias instancias, então deve existir um único SID para cada instancia. Agora se você só tem uma instancia, mas vários "alias" no TNSNAMES.ORA para acessar a mesma instancia, então com JDBC você vai ter uma única URL, pois o modo thin não usa TNSNAMES.ORA para acessar o SGDB.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/04/2007 14:03:25
|
RicardoLuis
JavaEvangelist
Membro desde: 12/08/2003 14:47:56
Mensagens: 393
Localização: Cuiabá / MT
Offline
|
Hmmm oyama, agora as coisas estão ficando mais claras. Mas assim, quando eu utilizo o SID orcl, em qual dos alias eu estou me conectando? É possível eu selecionar em qual deles eu desejo me conectar?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/04/2007 14:18:31
|
oyama
Virtual Machine Man
Membro desde: 19/04/2005 10:11:09
Mensagens: 572
Offline
|
RicardoLuis wrote:Mas assim, quando eu utilizo o SID orcl, em qual dos alias eu estou me conectando? É possível eu selecionar em qual deles eu desejo me conectar?
Dica: esqueça o TNSNAMES.ORA. Não tem diferença nenhuma usar um "alias" ou outro se todos apontam para a mesma instancia. No modo thin o JDBC não usa TNSNAMES.ORA. Se quer usar as entradas do TNSNAMES.ORA, tem que usar o modo OCI (precisa de um Oracle Client instalado na máquina onde vai rodar o seu programa). Não recomendo usar o modo OCI.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/04/2007 14:20:18
|
RicardoLuis
JavaEvangelist
Membro desde: 12/08/2003 14:47:56
Mensagens: 393
Localização: Cuiabá / MT
Offline
|
Só para ver se eu entendi de verdade...
Então na verdade todos apontam para a mesma instância, dessa forma se eu der um select em uma tabela, em todos os casos ele retornará os mesmos valores? Não existem diferenças entre eles por eles terem a mesma instância?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/04/2007 14:31:34
|
marciosantri
Virtual Machine Man
![[Avatar]](/images/avatar/574656b5b645c38245ad6f1a1d1f4c7a.jpg)
Membro desde: 02/03/2007 12:32:35
Mensagens: 567
Localização: Goiânia, Goiás
Offline
|
Não. A instância é vc quem define na string de conexão.
Para conectar ao Oracle vc precisa saber:
O IP ou o nome da máquina;
A porta;
O serviço (SID).
Esses 3 são passados no primeiro parâmetro. O resto é o usuário e a senha.
"jdbc:oracle:thin:@192.168.0.2:1521:CORP", "banco", "senha"
No exemplo do nandobgi, o servidor é o 192.168.0.2, a porta 1521 e o serviço do Oracle é CORP (o default do Oracle costuma ser ORCL ou XE).
|
leroicotidiano.blogspot.com
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/04/2007 14:33:33
|
RicardoLuis
JavaEvangelist
Membro desde: 12/08/2003 14:47:56
Mensagens: 393
Localização: Cuiabá / MT
Offline
|
marciosantri wrote:Não. A instância é vc quem define na string de conexão.
Para conectar ao Oracle vc precisa saber:
O IP ou o nome da máquina;
A porta;
O serviço (SID).
Esses 3 são passados no primeiro parâmetro. O resto é o usuário e a senha.
"jdbc:oracle:thin:@192.168.0.2:1521:CORP", "banco", "senha"
No exemplo do nandobgi, o servidor é o 192.168.0.2, a porta 1521 e o serviço do Oracle é CORP (o default do Oracle costuma ser ORCL ou XE).
Sim sim, me conectar ao banco eu consigo (como dito na primeira mensagem), o problema é como selecionar um outra alias, sendo que todos eles possuem o mesmo SID.
É possível fazer isso?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/04/2007 14:40:49
|
marciosantri
Virtual Machine Man
![[Avatar]](/images/avatar/574656b5b645c38245ad6f1a1d1f4c7a.jpg)
Membro desde: 02/03/2007 12:32:35
Mensagens: 567
Localização: Goiânia, Goiás
Offline
|
Nesta metodologia de conexão não existe "alias".
Tudo o que vc precisa está na string de conexão. Mais nada.
Servidor + Porta + Serviço (SID ou Instância)
Digamos que todos eles têm o mesmo SID (se forem do mesmo servidor)
a conexão será a mesma (pelo menos pelo o que entendi).
Se vc tem vários alias apontando para o mesmo no SID para o mesmo servidor então é a mesma conexão. Ou não é isso q vc quer dizer?
|
leroicotidiano.blogspot.com
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/04/2007 14:44:17
|
RicardoLuis
JavaEvangelist
Membro desde: 12/08/2003 14:47:56
Mensagens: 393
Localização: Cuiabá / MT
Offline
|
Sim, é a mesma conexão, mas como diferenciar em qual eu estou conectado. Porque existe um banco BDLOCAL, um BDBACKUP, etc. Todos eles possuem o mesmo SID. Como diferenciar em qual banco eu estou conectado?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/04/2007 14:45:20
|
marciosantri
Virtual Machine Man
![[Avatar]](/images/avatar/574656b5b645c38245ad6f1a1d1f4c7a.jpg)
Membro desde: 02/03/2007 12:32:35
Mensagens: 567
Localização: Goiânia, Goiás
Offline
|
Estes 2 bancos estão no mesmo servidor com o mesmo SID?
|
leroicotidiano.blogspot.com
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/04/2007 14:46:01
|
RicardoLuis
JavaEvangelist
Membro desde: 12/08/2003 14:47:56
Mensagens: 393
Localização: Cuiabá / MT
Offline
|
Sim.
|
|
|
 |
|
|