Chaîne de connexion en lecture seule vers une base de données d'accès
Je suis en train d'essayer de vous connecter à une base de données Access à l'aide d'un Système.Les données.OleDb.OleDbConnection. J'ai besoin de vous connecter en mode readonly parce qu'une autre application utilise en même temps. Je peux me connecter à la base de données en lecture/écriture, aucun problème, mais n'arrive pas à trouver n'importe où la chaîne correcte pour readonly.
J'ai essayé:
Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Persist Security Info=False;Mode=Lire
Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Persist Security Info=False;Extended Properties="ReadOnly=true;"
Grâce.
EDIT:
(J'aurais du mettre plus d'informations dans la question d'origine.)
Je pourrais connecter avec succès à la base de données access lorsqu'il était sur le local de la machine, mais quand j'ai essayé la connexion à la base de données access sur un distance machine avec la chaîne de connexion
Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Persist Security Info=False;Mode=Read
Je reçois l'erreur suivante:
System.Data.OleDb.OleDbException (0x80004005): The Microsoft Office Access database engine cannot open or write to the file '{0}'. It is already opened exclusively by another user, or you need permission to view and write its data.
Ma demande est en cours d'exécution dans un service windows sous le compte système local.
source d'informationauteur Smiffy
Vous devez vous connecter pour publier un commentaire.
Je pense que cela a à être manipulés par l'utilisateur les autorisations que le DB admin, contrôle ou avec différents types de curseur pour vos jeux d'enregistrements, qui vous contrôle. Je ne pense pas que la chaîne de connexion spécifie le mode d'accès, il est juste vous. 😉
Le vrai problème est que Excel des feuilles de la connexion ouverte jusqu'à ce que le fichier est fermé.
Dans Excel 2007 et+, le MaintainConnection paramètre est défini sur true par défaut. Vous devez aller dans l'éditeur vb et utiliser le code pour l'activer à faux. Je n'ai pas vu le moyen de le faire par le biais de l'interface visuelle.
Même si vous définissez la chaîne de connexion en lecture seule, il va verrouiller une base de données access (de mon expérience).
Pour un tableau croisé dynamique de connexion:
Pour Table De Requête:
Par la valeur false, la table de connexion, exécutez la commande, puis de le déconnecter, relâcher le verrou.