Italian community of Lazarus and Free Pascal

Programmazione => Databases => Topic aperto da: Maverich - Giugno 14, 2012, 08:05:00 pm

Titolo: [RISOLTO]Oracle 10express + SqlDb-Zeos
Inserito da: Maverich - Giugno 14, 2012, 08:05:00 pm
Ho installato Oracle 10g express, quindi tento la connessione con
- Zeos 7.0.0 -> ZConnection
oppure
- SqlDb-> OracleConnection

a design time, imposto Connected = true e tutto bene;
se lo faccio a runtime

ho il messaggio gdb.exe ha smesso di funzionare
Win7 64 + Lazus 32 - Rel 1.1

eppure sono sicuro che non sia colpa di Lazarus. qualche giorno fa, lo stesso test andava senza problemi;
ma ora ho messo tutto su un nuovo Hd, e forse mi manca qualcosa (Iava Runtime ???)

qualcuno che conosce Oracle ?  :(
Titolo: Re:Oracle 10express + SqlDb-Zeos
Inserito da: Maverich - Giugno 14, 2012, 08:22:54 pm
ho fatto un nuovo Test, questa volta con Lazrus64 su Win7 64;
non ci sono problemi, si collega ed esegue la Query.

il problema si verifica su Lazarus32 con Win7 o con WinXP.

la libreria oci.dll e' a 32 bit, come Oracle express 10.
Titolo: Re:Oracle 10express + SqlDb-Zeos
Inserito da: Maverich - Giugno 15, 2012, 07:19:05 am
con Zeos (ZConnection) cambiando la proprieta'
da
DataBase : XE
HostName: localhost:1521/XE
a
DataBase : localhost:1521/XE
HostName: vuoto

funziona correttamente su WinXP.

OracleConnection sempre ok a DesignTime , e errore a RunTime (gdb.exe)
DataBase : XE
HostName: localhost:1521/XE

DataBase : localhost:1521/XE
HostName:

DataBase : XE
HostName: 127.0.01:1521

resta anomalo il comportamento tra Lazarus32 e 64 bit con OracleConnection
anche settando     
OracleConnection1.Directory := 'C:\TestOracle';
OracleConnection1.Connected := True;
Titolo: Re:Oracle 10express + SqlDb-Zeos
Inserito da: xinyiman - Giugno 15, 2012, 07:50:55 am
Grazie della segnalazione, hai provato a farlo presente a chi si occupa di zeos?!
Titolo: Re:Oracle 10express + SqlDb-Zeos
Inserito da: Stilgar - Giugno 15, 2012, 09:26:43 am
Da quello che ho capito, Maverich, sembra che il problema risieda nella risoluzione del SID a 64bit ... Non riconosce "XE" ... o sbaglio?

XE viene risolta da un servizio (Oracle).
Se la libreria si aspetta un dato a 32 e gli arriva a 64, si incasina tutto. ;)
A 64 Bit hai impostato, grosso modo, tutte le info che servono per potersi collegare. Una volta innescata la comunicazione, il driver Oracle, riesce a gestire la comunicazione.

Ho capito bene?
Titolo: Re:Oracle 10express + SqlDb-Zeos
Inserito da: Maverich - Giugno 15, 2012, 05:59:58 pm
Grazie della segnalazione, hai provato a farlo presente a chi si occupa di zeos?!

il problema non e' piu' di Zeos , ora funziona a 32 e 64 bit
ma dei componenti standard SqlDB (oracleconnection) che funziona a 64 ma nona 32 bit (solo design time);
dovrei seguire passo passo il sorgente del driver che esegue la connessione.
Titolo: Re:[SOLVED]Oracle 10express + SqlDb-Zeos
Inserito da: Maverich - Giugno 15, 2012, 06:45:40 pm
era un problema banale do oci.dll ociw32.dll;
ho ricopiato oci.dll nella direcory del programma Test

ora OraclConnection dei componenti SQLDB funziona
sia in fase di Debug che runtime anche a 32 bit.

  try
    OracleConnection1.Directory := 'C:\TestMySQL_Laz';
    //OracleConnection1.HostName := 'localhost:1521';
    OracleConnection1.HostName := '';
    OracleConnection1.DataBaseName := 'localhost:1521/XE';
    OracleConnection1.Connected := True;
    SqlQuery1.Active := True;
  except
    ShowMessage('Non connesso');
    ...........
  end;