Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    2

    Nome Tabella Access con PHP

    Salve ragazzi, ho un problema.

    Purtroppo sono costretto ad avere a che fare con alcuni MDB , i quali devo essere uploadati sul server e successivamente trasferiti in un db MySql. E fin qui non ho nessun problema.

    Mi collego all'MDB:
    $percorso_database = realpath($upload_dir."/".$file_name);
    $connessione_mdb = new COM("ADODB.Connection");
    $stringa_di_connessione = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=".$percorso_database;
    $connessione_mdb->Open($stringa_di_connessione);
    $interrogazione = "select * from TABELLA";
    $recordset = new COM("ADODB.Recordset");
    $recordset->Open($interrogazione,$connessione_mdb);

    scorro il recordset, metto tutto quello che mi serve su un file csv e poi trasferisco sul MySql:
    $sql="LOAD DATA LOCAL INFILE 'c:/export.csv' INTO TABLE TabellaMySql FIELDS TERMINATED BY ';' LINES TERMINATED BY '\r\n';";

    Tutto perfetto.

    il mio problema però è un altro, ovvero il nome della tabella access non è fisso. Quindi, quando seleziono un mdb e lo apro con l'ADO, avrei bisogno di leggere il nome della tabella e appoggiarlo su una variabile (es. $nome_tabella) in modo da trasformare la riga evidenziata in rosso in questa:
    $interrogazione = "select * from $nome_tabella";

    Avete qualche soluzione?

    grazie

  2. #2

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    2
    Grandissimo k_abuto!!!!

    Mi hai risolto il problema

    $percorso_database = realpath($upload_dir."/".$file_name);
    $connessione_mdb = new COM("ADODB.Connection");
    $stringa_di_connessione = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=".$percorso_database;
    $connessione_mdb->Open($stringa_di_connessione);


    ////////////////////////////////////////////
    // Mi ricavo il nome della tabella access///
    ////////////////////////////////////////////
    $conn = odbc_connect("Driver={Microsoft Access Driver (*.mdb)};Dbq=$percorso_database","","");
    $tablelist = odbc_tables($conn);
    while (odbc_fetch_row($tablelist)) {
    if (odbc_result($tablelist, 4) == "TABLE")
    $nome_tabella = odbc_result($tablelist, 3);
    }
    ////////////////////////////////////////////

    $interrogazione = "select * from $nome_tabella";
    $recordset = new COM("ADODB.Recordset");
    $recordset->Open($interrogazione,$connessione_mdb);

    ecc. ecc...


  4. #4

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.