2010-08-17 10 views
6

Ich habe eine Excel-Tabelle, die Verbindung zu MS-Access 2003-Datenbank mit OLE DB-Verbindung. Wenn ich die Daten in der Tabelle aktualisiere und meine ms-access-Datenbank öffne, heißt es, dass die Datenbank schreibgeschützt ist. Wenn ich das Arbeitsblatt schließe und dann MS-Access DB öffne, wird es im Write-Modus geöffnet. Das folgende ist die Verbindungszeichenfolge, die in Excel-Kalkulationstabelle verwandt wird.Excel oledb Verbindung zu Ms-Access Datenbanksperre Zugriff 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

Können Sie Antworten annehmen? Sie sollten richtige Antworten akzeptieren, bevor Sie neue Fragen stellen. – hgulyan

+0

Ich habe keine gültige Antwort erhalten, die das Problem gelöst – Kannabiran

+0

@hgulyan Ich würde mich über einen Link zur vorherigen Frage freuen. – Fionnuala

Antwort

1

Haben Sie überprüft, dass der Excel-Benutzer vollständige Berechtigungen für den Ordner mit der Access-Datei hat?

+1

Ich habe die Lösung gefunden ... wir müssen Mode = lesen setzen; in der Verbindungszeichenfolge ..., die das Problem löste – Kannabiran

19

ändern "Mode=Share Deny Write"-"Mode=Read"

in Verbindungszeichenfolge ist

+0

Für eine Liste aller Modi https://msdn.microsoft.com/en-us/library/ee210191 – Slai

1

Excel Hintergrundaktualisierung Option aktiviert. Deaktivieren Sie es oder verwenden Sie das Abfrage-Studio, um die Abfrage als DBQ zu entwerfen.

<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>