2010-08-17 18 views
6

Ho un foglio di calcolo Excel che si collega al database MS-Access 2003 utilizzando la connessione ole db. Quando aggiorno i dati nel foglio di calcolo e apro il mio database di accesso ms, il database è di sola lettura. Se chiudo il foglio di calcolo e poi apro il DB MS Access, esso si apre in modalità Scrittura. Di seguito è riportata la stringa di connessione utilizzata nel foglio di calcolo di Excel.Connessione oledb di Excel all'accesso di blocco del database Ms-Access db

Provider=Microsoft.Jet.OLEDB.4.0;Password="";User ID=Admin; 
Data Source=D:\Dev\Reports.mdb;Mode=Share Deny Write;Extended Properties=""; 
Jet OLEDB:System database="";Jet OLEDB:Registry Path=""; 
Jet OLEDB:Database Password=""; 
Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=0; 
Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1; 
Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False; 
Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False; 
Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False 
+0

Come accettare le risposte? Dovresti accettare le risposte giuste, prima di chiederne di nuove. – hgulyan

+0

Non ho avuto risposta valida per risolvere il problema – Kannabiran

+0

@hgulyan Sarei felice di avere un collegamento alla domanda precedente. – Fionnuala

risposta

1

Avete verificato che l'utente di Excel disponga di autorizzazioni complete per la cartella contenente il file di accesso?

+1

Ho trovato la soluzione ... abbiamo bisogno di impostare mode = read; nella stringa di connessione ... che ha risolto il problema – Kannabiran

19

Change "Mode=Share Deny Write"-"Mode=Read"

nella stringa di connessione

+0

Per un elenco di tutte le modalità https://msdn.microsoft.com/en-us/library/ee210191 – Slai

1

opzione di aggiornamento in background di Excel è abilitato. Disabilitarlo o utilizzare query studio per progettare la query come DBQ.

<xml id=msodc><odc:OfficeDataConnection xmlns:odc="urn:schemas-microsoft-com:office:odc" 
xmlns="http://www.w3.org/TR/REC-html40"> 
    <odc:Connection odc:Type="ODBC"> 
    <odc:ConnectionString> 
    DBQ=<database path and filename>;DefaultDir=<database path>; 
    Driver={Microsoft Access Driver (*.mdb, *.accdb)};DriverId=25; 
    FIL=MS Access;MaxBufferSize=2048;MaxScanRows=8;PageTimeout=5; 
    ReadOnly=1;SafeTransactions=0;Threads=3;UID=admin;UserCommitSync=Yes; 
    </odc:ConnectionString> 
    <odc:CommandText>SELECT ... FROM ... WHERE ... </odc:CommandText> 
    </odc:Connection> 
</odc:OfficeDataConnection></xml> 
Problemi correlati