Página 1 de 1
xHarbour + ADO + Oracle XE
Enviado: 03 Set 2010 10:29
por alxsts
Olá!
Algum dos amigos sabe se é possível usar este trio?
Adaptei um exemplo que vem na pasta xHarbour\Samples (abaixo) mas não funciona. Será que falta alguma lib?
Código: Selecionar todos
PROCEDURE Main()
LOCAL cn, rs, oErr
altd()
TRY
cn := CreateObject( "ADODB.Connection" )
cn:ConnectionString := "Driver={Oracle in XEClient};dbq=localhost:1521/XE;Uid=system;Pwd=1001;"
cn:Open()
rs := CreateObject( "ADODB.Recordset" )
rs:Open( "HR.Countries", cn, 0, 1, 2 )
Do While ! rs:Eof()
Alert( rs:Fields( "Country_Name" ):Value )
rs:MoveNext()
ENDDO
CATCH oErr
Alert( "Error: " + oErr:Operation + " -> " + oErr:Description )
rs:Close()
rs := Nil
cn:Close()
cn := Nil
FINALLY
END
RETURN
Grato
Re: xHarbour + ADO + Oracle XE
Enviado: 03 Set 2010 12:30
por clrod
Olá
xHarbour eu não sei, talvez com a RDDSQL paga. Em Harbour dá sim.
T+
Re: xHarbour + ADO + Oracle XE
Enviado: 03 Set 2010 14:16
por alxsts
Olá!
Obrigado Cláudio.
Você já utilizou? Poderia fornecer um exemplo?
Re: xHarbour + ADO + Oracle XE (Resolvido)
Enviado: 05 Set 2010 22:24
por alxsts
Olá!
Consegui resolver com exemplos obtidos através da busca do fórum.
Ficou assim:
Código: Selecionar todos
#include "ado.ch"
PROCEDURE Main()
LOCAL oCn, oRs, oErr
AltD()
TRY
oCn := CreateObject( "ADODB.Connection" )
oCn:ConnectionString := "Provider=OraOLEDB.Oracle;Data Source=XE;User ID=system;Password=abc100;FetchSize=100;CacheType=Memory;"
oCn:Open()
oRs := CreateObject("ADODB.RecordSet")
With Object oRs
:cursorType := adOpenDynamic
:activeConnection( oCn )
:cursorLocation = adUseServer
:maxRecords = 100000
:cacheSize = 100
:source := "SELECT ROWNUM AS REC, COUNTRY_ID, COUNTRY_NAME FROM HR.Countries"
// ou troque as linhas:
// oRs:activeConnection( oCn )
// oRs:source := "SELECT ROWNUM AS REC, COUNTRY_ID, COUNTRY_NAME FROM HR.Countries"
// por:
// oRs:open( "SELECT ROWNUM AS REC, COUNTRY_ID, COUNTRY_NAME FROM HR.Countries", oCn )
:open()
:moveFirst()
CLS
Do While ! :eof()
QOut( Transform( :Fields( "rec" ):value, "999" ), "-", ;
:Fields( "Country_id" ):Value, "-", ;
:Fields( "Country_Name" ):Value )
:MoveNext()
ENDDO
:Close()
oRs := Nil
End
oCn:Close()
oCn := Nil
CATCH oErr
Alert( "Error: " + oErr:Operation + " -> " + oErr:Description )
END
RETURN
//--------------------------------------------------------------------------------
Tópicos que encontrei:
este, postado pelo Itamar M. Lins (o arquivo ADO.CH está neste tópico) e
este postado pelos amigos Alexandre (asimoes) e Rodrigo (rodrmigu). Neste último, consta um link para o site da Oracle, com material relacionado.
Obrigado Cláudio (clrod)
Re: xHarbour + ADO + Oracle XE
Enviado: 06 Set 2010 11:24
por clrod
Olá
Legal. Eu já tinha usado o ADO para testes mas nunca c/ Oracle.
T+
Re: xHarbour + ADO + Oracle XE
Enviado: 06 Set 2010 11:41
por alxsts
Olá!
Na máquina onde o banco está instalado funciona legal.
Preciso que o aplicativo seja executado em outras máquinas, acessando este banco. Criei um ODBC numa máquina remota e até passou no teste de conexão. Só que o meu executável não conecta.
Seria problema de configuração de usuário no banco Oracle? Alguma idéia?
Re: xHarbour + ADO + Oracle XE
Enviado: 08 Set 2010 13:13
por sygecom
Olá Alexandre,
Você tentou instalar o driver ODBC do Oracle para ver se resolve ?
http://support.microsoft.com/kb/175018/pt-br
Re: xHarbour + ADO + Oracle XE
Enviado: 08 Set 2010 14:29
por alxsts
Olá Leonardo!
Grato por responder.
O driver está instalado. Criei o ODBC de sistema nas dua máquinas apontando para o Oracle XE. O teste de conexão na máquina cliente funciona. Mas o meu programa não. Faltou tempo para testar mais. Acho que é problema de permissão no próprio banco...
Re: xHarbour + ADO + Oracle XE
Enviado: 08 Set 2010 19:01
por sygecom
Olá Alexandre,
Pode ser que seja, o fato é estranho mesmo, até hoje só usei Oracle com SQLRDD que por sinal da um show em todos os SGBD que já usei e testei e no meu caso não precisa configurar nada de ODBC e etc.. Boa sorte.