Oracle 10.2 problem to connect

The alpha/beta tester's forum for ZeosLib 7.0.x series

Report problems concerning our Delphi 2009+ version and new Zeoslib 7.0 features here.

This is a forum that will be removed once the 7.X version goes into stable!!

Moderators: gto, EgonHugeist, olehs

Locked
Ðerek wildstar
Junior Boarder
Junior Boarder
Posts: 35
Joined: 30.08.2005, 16:30
Location: Olinda / PE
Contact:

Oracle 10.2 problem to connect

Post by Ðerek wildstar »

Hello everybody, I'm having problems to connect with oracle database on my work. I will go straight to the question

My TNSNAMES.ORA is:

Code: Select all

ORAPROD.WORLD =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 191.168.1.202)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = ORAPROD)
    )
  )

ORADES.WORLD =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 191.168.1.204)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = ORAPROD)
    )
  )
On Delphi I have only a form with one ZConnection component and the properties are:

Code: Select all

object ZConnection1: TZConnection
  Protocol = 'oracle'
  HostName = '191.168.1.204'
  Database = 'dbrhm'
  User = 'dbrhm'
  Password = '123456'
  SQLHourGlass = True
  Left = 6
  Top = 6
end
With these configurations when I try to connect (connect command) I receive the following message:

Code: Select all

---------------------------
Error
---------------------------
SQL Error: ORA-12154: TNS:não foi possível resolver o identificador de conexão especificado

---------------------------
OK   Details >>   
---------------------------
The image of this error message is attached.

I have PLSQL Developer and there i can connect perfectly with oracle. What i must do now?
You do not have the required permissions to view the files attached to this post.
amarildolacerda
Junior Boarder
Junior Boarder
Posts: 30
Joined: 12.08.2011, 12:42
Location: Brazil
Contact:

Post by amarildolacerda »

Remove IP server. TZConnection use TNSNAMES to connect.

Like this:

object ZConnection1: TZConnection
Protocol = 'oracle'
Database = 'dbrhm'
User = 'dbrhm'
Password = '123456'
end
Ðerek wildstar
Junior Boarder
Junior Boarder
Posts: 35
Joined: 30.08.2005, 16:30
Location: Olinda / PE
Contact:

Post by Ðerek wildstar »

Pelo seu nome você deve entender português... :)

A solução que você apresentou eu já havia tentado, o erro está no próprio zeos.

Existe um procedimento (o qual não recordo agora) que faz uso de uma função contida em OCI.dll e serve para conectar ao banco de dados. O que acontece é que a classe que implementa o TZconnection do Oracle, no método Open, troca os parâmetros desta função ao chamá-la, de forma que para funcionar eu preciso setar a propriedade database = ORADES.WORLD, e isso pra mim não faz muito sentido.

Falei com Mark (o criador do Zeos) pelo ICQ e ele disse que era assim, mesmo, contudo, acho que a barreira da linguagem me impediu de explicar pra ele melhor.

O interessante é que ninguém tem reclamado disso. Ou quase ninguém usa o Zeos pra conectar com o Oracle, ou realmente está certo. Se você puder testar, por favor tenta. Se quiser mais detalhes me fala. Obrigado!
amarildolacerda
Junior Boarder
Junior Boarder
Posts: 30
Joined: 12.08.2011, 12:42
Location: Brazil
Contact:

Post by amarildolacerda »

O meu TNSNAMES.ORA.... esta assim:

store =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.80.172)(PORT = 1521))
(LOAD_BALANCE = yes)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = XE)
(FAILOVER_MODE =
(TYPE = SELECT)
(METHOD = BASIC)
(RETRIES = 180)
(DELAY = 5)
)
)
)

no Forms:

object ZConnection1: TZConnection
Connected = False
Protocol = 'oracle'
Database = 'store'
User = 'xxx'
Password = 'xxx'
end


Com esta configuração eu consigo conectar e fazer as transações com Oracle 10.g (XE)
amarildolacerda
Junior Boarder
Junior Boarder
Posts: 30
Joined: 12.08.2011, 12:42
Location: Brazil
Contact:

Post by amarildolacerda »

Eu tinha uma instalação completa no notebook... e não conseguia conectar...
Removi tudo, e depois baixe o "InstantClient"...

http://www.oracle.com/technetwork/datab ... 85727.html

Depois de algumas pesquisas encontrei um site que indicava como instalar o Instante Client....

Aproveitando, eu postei hoje código que permite fazer uso de StoredProc e Functions... Esta no Forum

http://zeos.firmos.at/viewtopic.php?t=3264
Guest

Post by Guest »

I could not help this problem, because my database connection is always a problem.
Ðerek wildstar
Junior Boarder
Junior Boarder
Posts: 35
Joined: 30.08.2005, 16:30
Location: Olinda / PE
Contact:

Post by Ðerek wildstar »

Exatamente... Do jeito que você descreveu funciona. No meu caso eu preciso colocar ORADES.WORLD configurado em DATABASE e deixar host em branco. Mas isso não parece ser intuitivo.

Por exemplo, intuitivamente, eu não usaria o TNS para conectar e usaria os "componentes" da string TNS para configurar o TZConnection. Acho que isso deveria funcionar, mas não funciona.
amarildolacerda wrote:O meu TNSNAMES.ORA.... esta assim:

store =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.80.172)(PORT = 1521))
(LOAD_BALANCE = yes)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = XE)
(FAILOVER_MODE =
(TYPE = SELECT)
(METHOD = BASIC)
(RETRIES = 180)
(DELAY = 5)
)
)
)

no Forms:

object ZConnection1: TZConnection
Connected = False
Protocol = 'oracle'
Database = 'store'
User = 'xxx'
Password = 'xxx'
end


Com esta configuração eu consigo conectar e fazer as transações com Oracle 10.g (XE)
Ðerek wildstar
Junior Boarder
Junior Boarder
Posts: 35
Joined: 30.08.2005, 16:30
Location: Olinda / PE
Contact:

Post by Ðerek wildstar »

Hello! Can you explain better?
Mudrick wrote:I could not help this problem, because my database connection is always a problem.
Ðerek wildstar
Junior Boarder
Junior Boarder
Posts: 35
Joined: 30.08.2005, 16:30
Location: Olinda / PE
Contact:

Post by Ðerek wildstar »

O instant Client, é sempre necessário no computador que vai fazer acesso ao oracle, porque ele além de outros dlls contém o principal dll de todos, OCI.DLL. No entanto eu não aconselho usar o instalador do Instant Client mas sim suas versões zipadas que precisam ser manualmente configuradas:

http://www.oracle.com/technetwork/datab ... 97480.html

Com esta versão você só coloca o necessário no computador e não um monte de bobagens que o instalador do IC instala. Além disso, o instalador do IC faz uma zona com registro do Windows criando uma confusão de Oracle Homes que atrapalha. Meu conselho é: use o IC que eu indiquei acima configura apenas as variaveis de ambiente ORACLE_HOME, ORACLE_BASE, TNS_ADMIN e NLS_LANG. Não mexa no registro do Windows! Funciona perfeitamente.

Sobre sua implementação, uma pergunta: o zeos sozinho não dava suporte a storedprocedures para oracle??
amarildolacerda wrote:Eu tinha uma instalação completa no notebook... e não conseguia conectar...
Removi tudo, e depois baixe o "InstantClient"...

http://www.oracle.com/technetwork/datab ... 85727.html

Depois de algumas pesquisas encontrei um site que indicava como instalar o Instante Client....

Aproveitando, eu postei hoje código que permite fazer uso de StoredProc e Functions... Esta no Forum

http://zeos.firmos.at/viewtopic.php?t=3264
Locked