Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Connessio verso DB Oracle con PHP

    Salve,

    sono nuovo nel forum e nuovo con PHP.

    Mi è venuta la brillante idea di mettere su grafici dei dati estratti da tabelle di un db Oracle. Allora mi sono messo a smanettare per un p'ò con php che ne mio caso è in ambiente winServer 2003 con Apache/2.2.19 (Win32) PHP/5.3.2, questo è il mio ambiente. Il mio Oracle è un db 10.2.0.3
    Spero di trovare qualcuno che mi possa dare una mano.

    Però poi ho provato a fare una connessine verso Oracle e li sono cominciati i drammi. Utilizzo librerie php_oci8.dll e ho provato con i metodi ocixxxxx ...... OCILoad ecc. ma senza successo. Mi ritorna sempre un errore :
    ORA-12154: TNS:could not resolve the connect identifier specified

    questo nonostante il tnsnames.ora sia in ordine con alias esistente ecc. non ho problemi a fare il tnsping e il db è locale sulla macchina in cui gira anche il nostro Apache (PHP).

    Ho provato ad utilizare i metodi ora_xxxxxx (ora_logon ecc.) ma non ci sono, non vengono trovati dal server.
    Poi per cercare di tagliare corto ho provato ad utilizzare una connessione ODBC, e questi ci sono; mi sono fatto la mia fonte DNS di sistema e funziona correttamente per altre chiamate ad esempio con un *.mdb ma con oracle niente da fare. E non capisco come mai la connessione verso oracle non funziona.

    Di seguito voglio aggiungere in breve le parti di codice che scrivo per le due modalità di connessione che ho provato.

    OCI :
    Codice PHP:
    <?php
    $dbhost 
    "TNS_ALIAS";

        
    // create connection 
        
    $connection OCILogon('udi','psw',$dbhost); 
        
        
    // test connection 
        
    if ($connection) { 
            echo 
    "   Connessione andata a buon termine \n"
        } 
        if (!
    $connection) { 
            echo 
    "   Couldn't make a connection! \n";
            
    $err oci_error(); 
            echo 
    "   Oracle Connect Error " $err[message];        
        } 
        
        
        
    OCILogoff($connection); 
    ?>
    e ODBC :

    Codice PHP:
    <?php
    $connectionstring 
    odbc_connect("DNS_SOURCE","uid","psw"); 

        
    // test connection 
        
    if ($connectionstring) { 
            echo 
    "   Connessione andata a buon termine \n"
        } 
        if (!
    $connectionstring) { 
            echo 
    "   Non posso fare la connessione!\r";
        } 

    odbc_close($connectionstring); 
    exit();
    ?>
    Chiedo scusa per la lunghezza ma sono un p'ò agli sgoccioli con i nervi e chiedo aiuto.

    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    128
    uhm, io mi collego diversamente. prova ad utilizzare questa sintassi vedi se va bene

    Codice PHP:
    $db "(DESCRIPTION=(ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = xxxxxx)(PORT = 1521)))(CONNECT_DATA=(SID=xxxxx)))" ;

    if (
    $c=OCILogon("msmprod""msmprod"$db)) {
        
        echo 
    "Connesso al database"
    }
    else {
            
    $err OCIError();
            echo 
    "Impossibile connettersi al database Oracle." $err[text];
        } 
    vedi un pò come va

  3. #3
    ....... Angelo salvatore ........

    Funziona ......... veramente banale ..... ma funziona.

    GRAZIE 1000 !!!!!

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    128
    di niente

  5. #5
    Ciao ..... di nuovo.

    Preziosissimo l'aiuto di ieri.

    Volevo chiedere se tu o qualcuno conosce le librerie grafiche :

    PHPGraphLib che io ho provato e nelle quali vedo alcuni limiti, ad esempio, non riesco ad inserire nella stessa pagina in cui creo il grafico una sezione (sotto o sopra il grafico) in cui poter aggiungere dei bottoni o altro per cercare di refreshare la mia pagina modificando il range temporale in cui viene creato il grafico stesso.

    Oppure, conoscete altre librerie grafiche che possono essere utilizzzate per creare grafici, linee che connettono punti valori (Y) e date-ora in X ??

    Grazie

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    128
    ciao, anche io utilizzo phpGraphLib, per ora non ho incontrato problemi nel realizzare ciò che desideravo.

    Se devi realizzare bottoni o altro non li devi includere nello stesso script del grafico.

    Esempio: tu fai una pagina con quello che ti pare (quindi tutti i tuoi bottoni o campi da compilare). Poi includi lo script col tag img src. Quando gli passi l'url puoi anche passargli dei parametri! per cui il grafico verrà creato "live" in base ai parametri che gli hai passato.

    Esempio tratto da una mia pagina

    codice:
    <img style="float:right" src="phpgraph/scadutoag.php?trenta=<?php echo $perctrenta . 
       "&sess=". $percsessanta . "&nov=". $percnovanta ."&centov=". $perccentov; ?>" />
    in questa pagina, in precedenza in base ai dati inseriti dall'utente avevo calcolato delle variabili. Ovviamente nello script scadutoag.php la prima cosa che faccio è il request delle variabili, che poi chiaramente generano il grafico

  7. #7
    Non sono un bel praticone di HTML o PHP ........ a questo punto ..... domani ci provo .... sono sicuro che se ne viene fuori.

    Grazie di nuovo.

    Ciao

  8. #8
    Ciao,

    ho provato a fare come suggerisci ed in effetti riesco creando una paginetta html a chiamare la mia *.php che crea il grafico passandogli un valore di variabile.

    Solo che, e quì entra la mia ignoranza in html - php ecc., vorrei cercare di refreshare la pagina con un bottone passando con la variabile un altro valore.
    Metto un esempio del codice nella mia HTML :

    <html>
    <TABLE BORDER=1>
    <h3>This is where I want to display my graph</h3>

    <form src="ora_graph.php?v_ore=48">
    <input type="submit" value="Due giorni">
    </form>
    </TABLE>
    <TABLE>
    [img]ora_graph.php?v_ore=24[/img]
    </TABLE>
    </html>

    In sostanza parto con questa che chiama la ora_graph.php che crea un grafico a 24 ore, e nella pagina metto un bottone che dovrebbe refreshare la pagina ma con dati del grafico a 48 ore.
    Quello che succede è che sembra che un refresh venga fatto ma il grafico viene sempre stampato a 24 ore.

    Come potrei riuscire a far si che gli passo effettivamente un valore di 48 e ricreare l'immagine del grafico nella mia pagina html ?

    Scusa il disturbo ..... causa ignoranza e inesperienza.

    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 © 2025 vBulletin Solutions, Inc. All rights reserved.