31. maj 2011 - 20:15Der er
12 kommentarer og 1 løsning
Flere applikationer mod samme access db
Hej
Jeg er ved at skrive en applikation i C# som skal snakke med en access db, men jeg kan ikke åbne flere udgaver af mit program samtidig. Så får jeg at vide at databasen "is already opened exclusively by another user"
Så er det muligt at lave en read only connection til databasen, så flere brugere kan læse samtidig?
Det er Access 2010 og jeg bruger følgende connection string lige nu: dbconnection = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + databaselocation + ";Persist Security Info=False;");
Jeg åbner forbindelsen i Form1_load og den er så åben sålænge applikationen kører. Jeg lukker naturligvis mine OleDbDataReader ned så hurtigt så muligt..
du bør (= skal) lukke din connection så hurtigt du kan - det er selvfølgelig tungt at åbne en connection men det er endnu tungere at beholde den åben næsten uendeligt.
Det burde være et rimelig easy fix, men det løser ikke problemet, gør det? Hvis bruger 1 laver en query der tager 10 sekunder, så kan bruger 2 vel ikke lave noget imens?
Lige nu er jeg stadig igang med at udvikle, så den eneste test jeg har lavet, er at starte to udgaver af mit program under min egen user (som har skriveadgang) og det er sådan jeg har opdaget problemet..
Har brugeren rettighed til og laver den en .ldb fil i samme mappe som .mdb filen (Access Databasen), når du laver forbindelsen i dit program?
Hvis .ldb filen bliver oprettet når du forbinder i dit program, kan du så forsøge og se om problemet også opstår hvis du køre dit program, som 2 forskellige brugere?
Jeg er desværre ikke kommet videre siden igår. Undrer mig over det der "mode=" ikke virkede i connectionstringen. Som jeg læser mig til det, så burde mode=1 være read-only
Virker desværre ikke.. Jeg er begyndt at kigge på noget DBPROP_INIT_MODE (http://msdn.microsoft.com/en-us/library/ms712983(v=vs.85).aspx) men ved ikke lige hvordan min connectionstring så skal se ud
jeg endte med at opgive dette. beklager den lange ventetid..
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.