Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    66

    [oracle] errore apache su OCIParse

    sono al primo tentativo di accedere con php a oracle facendo delle prove sul pc di sviluppo
    ho inserito la sequenza di istruzioni

    $conn = OCILogon("user", "psw", "db.tnsname");
    $sql="select *.....;"
    $stmt = OCIParse($conn,$sql);
    OCIExecute($stmt,OCI_DEFAULT) or die ("Unable to execute query\n");

    ieri mi ha funzionato segnalandomi un errore perché la tabella nella query non esisteva
    oggi ho riprovato e all'esecuzione di $stmt = OCIParse($conn,$sql); appare l'errore
    si è verificato un errore in Apache HTTP Server l'applicazione verrà chiusa

    l'unica cosa che ho fatto da ieri a oggi è installare chrome, l'ho disistallato e riavviato ma nulla
    ovviamente l'accesso a oracle con access via odbc funziona come pure il resto delle procedure php
    qualcuno ha un suggerimento da darmi ?

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    66

  3. #3
    è un pezzo che non uso oracle, ma leggendo questa pagina http://php.net/oci_execute c'è questa nota:
    If you don't want statements to be committed automatically, you should specify OCI_DEFAULT as your mode .

    When using OCI_DEFAULT mode, you're creating a transaction. Transactions are automatically rolled back when you close the connection, or when the script ends, whichever is soonest. You need to explicitly call oci_commit() to commit the transaction, or oci_rollback() to abort it.
    non so se sia effettivamente questo il problema oppure no, rimane di fatto che la query, con oci_default, rimane in sospeso.

    prova e poi sappici dire
    Perchè essere stupidi non è una menomazione ma un diritto di tutti!!!

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    66
    Ma l'errore è su OCIParse non su OCIExecute
    ho fatto questo test

    echo "A";
    $conn = OCILogon("user", "psw", "db.tnsname");
    echo "B";
    $sql="select *.....;"
    echo "C";
    //$stmt = OCIParse($conn,$sql);
    echo "D";
    //OCIExecute($stmt,OCI_DEFAULT) or die ("Unable to execute query\n");
    echo "E";

    commentando quindi OCIParse e OCIExecute il risultato è ABCDE quindi esegue tutto

    togliendo il commento a OCIExecute il risultato è
    ABCD
    Notice: Undefined variable: stmt in .... on line 15
    perché $stmp non è stata definita

    togliendo il commento a OCIParse il risultato è l'errore che ho indicato
    ne deduco che il problema è in OCIParse

  5. #5
    se il problema è effettivamente in ociparse, devi controllare ciò che restituisce.
    Se restituisce false allora il problema è davvero in quella riga e da li devi indagare se è sulla connessione o sulla query
    Perchè essere stupidi non è una menomazione ma un diritto di tutti!!!

  6. #6
    già che ci sei prova a postare la query, che se è sbagliata allora è quella a dare problemi
    Perchè essere stupidi non è una menomazione ma un diritto di tutti!!!

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    66
    Ho accantonato momentaneamente il problema ... a distanza di un mese ho installato l'ambiente di sviluppo su un nuovo pc, sempre xp, ma l'errore persiste

    Se scrivo
    $conn = OCILogon("user", "psw", "db.tnsname");
    $sql="select *.....;"
    $stmt = OCIParse($cc,$sql);
    OCIExecute($stmt,OCI_DEFAULT) or die ("Unable to execute query\n");

    cioè passo a OCIParse un valore inesistente di connessione mi visualizza
    Warning: ociparse() expects parameter 1 to be resource, null given in ... indicando la riga
    quindi OCIParse lo esegue ma non trova il parametro 1 nullo
    se inserisco la variabile giusta mi da errore Apache

    chiedo di nuovo aiuto, grazie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.