Avatar billede tripwire Nybegynder
31. maj 2011 - 20:15 Der 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;");

Mvh
Tripwire
Avatar billede keysersoze Guru
31. maj 2011 - 20:32 #1
Hvordan ser din brug af forbindelsen ud - sørger du fx for at lukke connection så snart du kan?
Avatar billede arne_v Ekspert
31. maj 2011 - 20:43 #2
Proev med:

Mode=19

i connection string.
Avatar billede tripwire Nybegynder
31. maj 2011 - 20:54 #3
Hej Arne

Mode=19 gav desværre samme resultat.

dbconnection = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Mode=19;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..
Avatar billede keysersoze Guru
31. maj 2011 - 20:57 #4
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.
Avatar billede tripwire Nybegynder
31. maj 2011 - 21:08 #5
Hej Keyser

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?
Avatar billede CCodam Nybegynder
31. maj 2011 - 21:16 #6
Du bør sagtens kunne have flere forbindelser til en Access database.

Er du sikker på at den bruger du køre dit program med har rettigheder til at skrive til den mappe hvor Access databasen ligger?

Den skal nemlig have mulighed for at oprette den .ldb fil der kræves for deling af Access databasen.
Avatar billede tripwire Nybegynder
31. maj 2011 - 21:24 #7
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..
Avatar billede CCodam Nybegynder
31. maj 2011 - 21:35 #8
Hvilken version af Access er databasen lavet i?

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?
Avatar billede tripwire Nybegynder
31. maj 2011 - 21:45 #9
Hej

Det er i Access 2010 og den laver en .laccdb ved siden af accdb når jeg laver forbindelsen.

Jeg har oprettet en anden bruger på min pc og kørt den ene udgave af applikationen som den, men den giver samme fejl..
Avatar billede tripwire Nybegynder
01. juni 2011 - 18:46 #10
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
Avatar billede CCodam Nybegynder
01. juni 2011 - 19:13 #11
#10 Har du forsøgt med:
Mode=Read


Ikke at det skulle gøre den store forskel, men jeg er gået død i input :/
Avatar billede tripwire Nybegynder
01. juni 2011 - 20:20 #12
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
Avatar billede tripwire Nybegynder
28. september 2012 - 18:02 #13
jeg endte med at opgive dette. beklager den lange ventetid..
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester