PHP -> Oracle

Salve a tutti, sono nuovo del forum e questo è il mio primo topic, in questa comunità.

Vengo subito al problema che mi affligge da circa 4 giorni... ovvero una connessione a ORACLE con PHP ma fino ad ora niente da fare...

preciò chiedo un aiuto e accetto ogni tipo di consiglio.

Grazie in anticipo.

PS:

File php che effettua una connessione a ORACLE

$dbcon = oci_new_connect('login', 'pass',

'(DESCRIPTION =

           (ADDRESS =

       (PROTOCOL = TCP)

       (HOST = 127.0.0.1)

       (PORT = 1521)

     )

         (CONNECT_DATA =(SID = DB9))

     )

');

?>

Ecco invece l'errore che mi perseguita:

Warning: oci_new_connect() [function.oci-new-connect]: ORA-03113: end-of-file sul canale di comunicazione in C:\Programmi\Apache Group\Apache2\htdocs\oracle.php on line 14

 :uglystupid:  :wallbash:

inviato 10 anni fa
liberty_23
X 0 X

prova una procedura più semplice:

$conn = oci_connect('login', 'pass', 'SID');

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

Niente da fare la cosa già l'avevo testata.

Il mio dubbio è questo:

Siccome io non sono un esperto di ORACLE hai mica suggerimenti di  test che posso fare per vedere se questo DB è disponibile, Ho già effettuato il  collegato al DB con Access utilizzando le tabelle collegate e quindi gli ODBC e non solo, ho testato il DB con JDBC e OLE DB e tutto funzione riesco a collegarmi ma con PHP ci sono tutti questi problemi ???

 :wallbash:

risposto 10 anni fa
liberty_23
X 0 X

prova ad inizializzare la variabile d'ambiente ORACLE_HOME, direttamente da PHP, all'inizio dello script:

PutEnv("ORACLE_HOME=C:/oracle/app/oracle/product/10.2.0");

ovvamente devi adattere il percorso al tuo caso

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

Anche questo è già stato provato ma senza risolvere il problema.

Ma non sono sicuro se la variabile corretta. (Credo di si poichè se cambio il path si verifica un errore interno al server...)

Io sto usando la varsione PHP 5 su Apache 2 e infine con Oracle 9i (9.2) qundi la variabile da settata:

PutEnv("ORACLE_HOME=C:\oracle\ora92");

$conn = oci_connect('login', 'pass', 'DB9');

risposto 10 anni fa
liberty_23
X 0 X

Hai la directory di Oracle nel path di Windows?

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

Infatti sto usando oracle sotto Windows....

risposto 10 anni fa
liberty_23
X 0 X

Forse non sono stato chiaro o non ho capito la tua risposta. Intendevo dire nella variabile d'ambiente PATH di Windows.

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

Intendi che C:\oracle\ora92 deve trovarsi nella variabile "Path" di windows!!!

risposto 10 anni fa
liberty_23
X 0 X

Si, ma più precisamente la cartella "bin" di Oracle. Non so se è questo il problema ma siccome il mio PC è settato così e la connessione ad Oracle XE funziona, allora forse...

:bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

No quella c'è per default dopo aver installato Oracle.

Ma per una precisa installazione del tutto ti chiedo "Se per cortesia" mi descrivi BREVEMENTE l'installazione del tutto, ovvero, Oracle - Apache - PHP 5,  ma soprattutto la creazione del database Oracle per capire se ho fatto tutto come dio comanda....

Inoltre vorrei ringraziarti per la tua disponibilità !!!

risposto 10 anni fa
liberty_23
X 0 X

Io ho installato Oracle XE che crea anche il database  :dunno:

Poi ho attivato un utente attraverso l'interfaccia web di Oracle in modo da utilizzare le sue credenziali (login e password) con PHP.

Per il resto la mia installazione di Apache/PHP è classica, con in più l'attivazione (via php.ini) dell'estensione oci8.

Trovi molto materiale a riguardo sul sito della Oracle:

http://www.oracle.com/technology/tech/php/index.html

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

Salve sono ancora io che dopo aver configurato varie cose, utilizzando però ZendCoreForOracle, sono riuscito nel connettermi.

Il problema che non mi serve il php 5 ma php 4. Quindi dopo aver reinstallato il tutto ma senza ZendCoreForOracle (perchè utilizza php 5) non sono riuscito a connettermi a Oracle e l'errore che mi viene restituito adesso è:

Warning: ocilogon(): OCISessionBegin: ORA-12705: Cannot access NLS data files or invalid environment specified

che dovrebbe significare che non ho settato qualche variabile in modo corretto ma non sono riuscito a trovare come settare le variabili descritte in http://it2.php.net/manual/it/ref.oci8.php e cioè

ORACLE_HOME = C:\oracle\ora92

ORACLE_SID = DB9

LD_PRELOAD = ??????

LD_LIBRARY_PATH = C:\oracle\ora92\lib

NLS_LANG = AMERICAN

ORA_NLS33 = ??????

ma ciò senza avere risultati......

risposto 10 anni fa
liberty_23
X 0 X

Sono variabili d'ambiente di windows. Si settano allo stesso modo della variabile PATH, hai presente (tasto destro su "risorse del computer" -> proprietà -> ... -> variabili d'ambiente)?

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

Anche se ho impiegato quasi 4 giorni per utilizzare PHP 4 con Oracle 9i, FINALMENTE CI SONO RIUSCITO!!

Un ringraziamento al forum ma soprattuto all'utente Gianni....

Grazie mille.

PS.

Avresti ma pensato che la variabile da settare fosse

NLS_LANG=AMERICAN_AMERICA.WE8MSWIN1252

risposto 10 anni fa
liberty_23
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda