Errore durante la connessione al database di accesso sulla rete


0

Ho due PC in fila collegati tra loro tramite WAN.

Ho condiviso la cartella contenente un Access Databasee io do il permesso a tutti per tutto sul database stesso.

Ora il codice che sto usando è:

string connectionString = string.Empty;
connectionString  = @"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=\\winPcDemo-570f\abcd\testDB.mdb; Jet OLEDB:Database Password=**********;";
OleDbConnection tmpconnection = new OleDbConnection(connectionString);

tmpconnection.Open(); // ERROR 

Ma questo viene fuori con un errore:

Errore del disco o della rete.

È diverso da qualsiasi altra domanda su questo sito, quindi è per questo che sto postando questo.


Gli utenti sono in grado di accedere \\winPcDemo-570f\abcd\testDB.mdbda Explorer?
BlueRaja - Danny Pflughoeft

1
No, non è questo ciò che mi preoccupa, in quanto posso accedere alle cartelle sul mio PC da winPcDemo-570f.

hai letto ed eseguito i privilegi?
MUG4N,

Ho pensato che ci fosse qualcosa di sbagliato nella stringa di connessione o in qualche altro modo per connettersi!

Smetti di usare l'accesso, SQL Express è gratuito e puoi importare l'accesso a SQL senza problemi. Se si dispone di moduli di accesso o report che utilizzano questo database, creare tabelle collegate al proprio archivio SQL tramite connessioni ODBC. L'accesso è stato fantastico a suo tempo, la cronaca è stata revol
LordWabbit

Risposte:


0

Sarebbe utile se provassi ad accedere a \\ Macbookpro-570f \ abcd \ da explorer per verificare se c'è un problema con la rete o la configurazione della condivisione. (Aggiorna la tua risposta con il risultato).

Il mio primo pensiero però sono le autorizzazioni. L'accesso richiede autorizzazioni sufficienti per creare il suo file .ldb nella stessa cartella e per poter modificare il file .mdb. Le condivisioni di Windows hanno 2 set di autorizzazioni applicabili. In primo luogo sono le autorizzazioni per la condivisione, in secondo luogo le autorizzazioni NTFS effettive sul file / cartella. È necessario assicurarsi che ENTRAMBI questi set di autorizzazioni concedano le autorizzazioni sufficienti per l'utente corretto per modificare mdb e creare ldb.


Do il pieno controllo a tutti i presenti nella cartella e il database continua a presentare lo stesso problema.

@confusedMind - mi dispiace ripetermi, ma hai dato a tutti il ​​pieno controllo sia sulla cartella che sulla condivisione? Inoltre, che dire dell'accesso alla condivisione di rete da explorer? Entrambi i PC possono accedere alla condivisione di rete?
pipTheGeek,

0

Vorrei provare a mappare il percorso di una lettera di unità. Vai al prompt dei comandi (potrebbe essere necessario aprire come amministratore) ed eseguire le seguenti operazioni:

net use q: \\winPcDemo-570f\abcd mypassword /USER:myaccount

(mypassword e il mio account dovrebbero essere le tue credenziali se necessario. Puoi usare un'altra lettera di unità oltre a q se necessario anche.)

Quindi, puoi usare

Data Source=Q:\testDB.mdb

invece di

Data Source=\\winPcDemo-570f\abcd\testDB.mdb

Penso che dovrebbe funzionare come hai specificato, ma forse questo ti permetterebbe di escludere se si tratta di un problema di codice o di un sistema operativo / privilegio.

Spero che sia di aiuto!


Le unità mappate sono la strada da percorrere, l'uso dei percorsi UNC aggiunge molti problemi di autorizzazione. Quando si scarica l'autenticazione di sicurezza su un'unità mappata, vengono risolti molti problemi quando si lavora con i database di accesso. Detto questo, smetti di usare access, SQL Express è gratuito e puoi importare Access to SQL senza problemi. Se si dispone di moduli di accesso o report che utilizzano questo database, creare tabelle collegate al proprio archivio SQL tramite connessioni ODBC. L'accesso è stato fantastico a suo tempo, la cronaca è stata revol
LordWabbit
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.