PDA

View Full Version : [PHP] ACCESS97+DB in rete


nic96
12-12-2008, 22:35
Salve,

vorrei mettere su uno script PHP che mi permetta di leggere i dati da un DB access97 e visualizzarli tramite browser.

ho provato il seguente script per la connessione:

<?PHP
$db = "C:\percorso_fisico\database.mdb";
$sc = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=$db;";
?>

funziona per bene quando il DB sta su una unità, C: o D: ma anche su unità reindirizzate in rete ma non funziona e va in errore quando cerco di accedere direttamente ad un db in rete come segue:

\\nome_pc_in_rete\percorso_fisico\NomeDB.MDB

è possibile superare questo problema con questa tipologia di script o esiste qualche altro modo per i db in rete?

Grazie in anticipo

saluti
nic96

cionci
13-12-2008, 11:46
Mmmhh, non credo che si possa fare così.
Monta il percorso di rete su una unità logica, in questo modo ci dovresti riuscire.

nic96
13-12-2008, 13:11
Mmmhh, non credo che si possa fare così.
Monta il percorso di rete su una unità logica, in questo modo ci dovresti riuscire.

lo so, così funziona ma è proprio questo che vorrei evitare. montare una unità logica significherebbe dover fare richiesta all'IT dell'azienda per cui lavoro, quindi carte su carte e tempi biblici ....

devo trovare un modo per poter accedere direttamente al pc in rete senza dover montare alcuna unità logica

cionci
13-12-2008, 13:32
Addirittura ? Ma se hai l'accesso alla condivisione non te la monta comunque ?

nic96
13-12-2008, 13:39
ho già avuto altre esperienze negative nell'utilizzare unità logiche in azienda

devo essere totalmente indipendente da tutto e da tutti

cionci
13-12-2008, 13:47
Allora prova creando un DSN utente usando il driver ODBC, puntando al percorso di rete.

nic96
13-12-2008, 18:55
Allora prova creando un DSN utente usando il driver ODBC, puntando al percorso di rete.

hai un po di documentazione su come fare?

su questo sono totalmentre bianco

grazie mille
nic96

cionci
13-12-2008, 19:10
Devi andare nel pannello di controllo e cercare l'applet relativa ad Odbc, però non so se ti servono i privilegi di amministratore.

Cambia anche la stringa di apertura. Come apri il DB access in php ?

nic96
13-12-2008, 19:20
ho fatto diverse prove, una di questa è la seguente:

$conn = new COM("ADODB.Connection") or die("Non riesco a connettermi");
$conn->Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=".$dbfile.";");

però se devo andare a cambiare l' ODBC su ogni pc non ho concluso niente

torniamo sempre al punto di partenza, trovare un modo per leggere il db senza modificare nulla nel pc

cionci
13-12-2008, 19:21
Allora non credo proprio che si possa fare.

Ma ogni PC ha un server web installato sopra ? Che senso ha ?

nic96
13-12-2008, 19:24
ovviamente no, avrò uno spazio sul server aziendale ma il DB sta su un altro server

sai se esiste un modo per montare una unità logica da php?

all'avvio potrei verificare se l'unità logica è montata e se non lo è potrei montarla io da codice php se è possibile

non è il massimo ma potrei aggirare l'ostacolo, cosa ne pensi?

cionci
13-12-2008, 19:27
Per montare l'unità puoi usare il comando NET USE. Lo dovresti usare con PHP, mi immagino che servano un bel po' di permessi.

nic96
13-12-2008, 19:28
lunedì farò qualche prova

grazie mille per l'aiuto

ciao
nic96

nic96
23-03-2009, 21:16
Per montare l'unità puoi usare il comando NET USE. Lo dovresti usare con PHP, mi immagino che servano un bel po' di permessi.

risolto!

invece di

$dbfile='\\NomePC\NomeCartella\MioDB.mdb';

va messo

$dbfile='//NomePC/NomeCartella/MioDB.mdb';

così funziona alla perfezione

ciao
nic96