Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    91

    Connessione database access

    Salve,

    premetto che non amo assolutamente access, ma in questo caso sono obbligato ad usarlo. Sul server non posso installare niente. Ho semplicemente un account ftp.

    Io ho bisogno di connettermi al mio db access.

    Ho provato con il seguente codice:

    Codice PHP:
    <?php
    $path
    "/cartella/" ;
    $db"prova.mdb" ;
    $source=$path.$db ;

    $cn="Provider=Microsoft.Jet.OLEDB.4.0;" ;
    $cn.="Data Source=$source;" ;

    //Verifico se esiste il file del db
    if (!file_exists($source) ){
        die(
    "Il database non esiste") ;
    }

    $cnObj= new COM("ADODB.Connection");
    $cnObj->open($cn) ;

    /*Il DB è ora aperto e possiamo effettuare le operazioni che vogliamo*/

    //Chiudo la connessione al DB
    $cnObj->Close() ;
    $cnObj->Release() ;
    $cnObjnull ;
    ?>
    Ma mi restituisce quest'errore:


    Fatal error: Cannot instantiate non-existent class: com in /cartella/index1.php on line 14


    L'errore sembra essere dovuto alla classe COM che non è presente sul server. Giusto?

    Come posso risolvere?

    Grazie, Kuilsera

  2. #2

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    91
    Su Altervista.

    Sul forum di Altervista mi hanno risposto che non è possibile.

    Come posso fare?

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    346
    salve,
    ho lo stesso problema.
    Sono obbligato ad utilizazre un db access per recuperare i valori estrapolati dal gestionale.
    Il sito è posto sul piattaforma unix, e uso php.
    Le query ho visto che sono le stesse, ma la connesisone mi da rpoblemi.
    questo l'errore dato utilizzando la funzione scritta da kuilsera:

    Codice PHP:

    <?php
    $path
    "/cartella/" ;
    $db"prova.mdb" ;
    $source=$path.$db ;

    $cn="Provider=Microsoft.Jet.OLEDB.4.0;" ;
    $cn.="Data Source=$source;" ;

    //Verifico se esiste il file del db
    if (!file_exists($source) ){
        die(
    "Il database non esiste") ;
    }

    $cnObj= new COM("ADODB.Connection");
    $cnObj->open($cn) ;

    /*Il DB è ora aperto e possiamo effettuare le operazioni che vogliamo*/

    //Chiudo la connessione al DB
    $cnObj->Close() ;
    $cnObj->Release() ;
    $cnObjnull ;
    ?>
    Warning: (null)(): Invoke() failed: Eccezione. Source: Microsoft JET Database Engine Description: Impossibile trovare il file

    Sapete dirmi come impostare una connessione ad un file .mdb?
    grazie

  5. #5
    Il sito è posto sul piattaforma unix, e uso php.
    Se il server è unix mi risulta difficile credere che la chiamata "new COM("ADODB.Connection");" sia andata a buon fine.

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    346
    infatti mi dà errore...
    per il momento stò sviluppando in locale, ma le applicazioni sono le stesse di quelle che ho nel server online.
    apache 2.2, php 4.4

    ho provato un paio di esempi...ma mi danno entrambi errore.
    Sai come impostare una connesisone ad un file access?


    P.S.:
    ho rpovato anche questo esempio..ma mi dà errore...

    Codice PHP:
    $percorso_database realpath("database.mdb");
    $connessione = new COM("ADODB.Connection");
    var_dump(new COM("ADODB.Recordset"));
    $stringa_di_connessione "DRIVER={Microsoft Access Driver(*.mdb)}; DBQ=".$percorso_database;
    $connessione->Open($stringa_di_connessione); 

  7. #7

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    346
    purtroppo non sono riuscitoa trovare un esempio che faccia al mio coso.
    Sai indicarmi come fare?? quale oggetto utilizzare al posto di COM?

  9. #9

  10. #10
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    346
    ehhhhh... non è proprio così facile...
    allora faccio prima a leggere il file..e crearmi un file csv...
    ti spiego... il DB risiede su un computer locale, viene generato da un gestionale.
    io devo potermi connettere a quel file impostando un percorso con ip..e porta...
    non mi è possibile far fare l'upload del DB al cliente in quanto il file è molto grande... si parla di circa 160-200 mb e l'aggiornamento dovrebbe esser fatto 1-2 volte alla settimana.

    Sapresti indicarmi una soluzione?? installo un webserver in locale al cliente?creo un'applicativo che legge i dati del db in locale dal cliente.. per generare un csv di cui poi successivamente sarà effettuato l'upload sulla root del sito?

    helpppppppp

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.