ADODB.Connection problem
När jag kör följande kod i mitt program:
dim db as new ADODB.Connection
db.Open("Provider = Microsoft.Jet.OLEDB.4.0;" & "Data Source =" & My.Application.Info.DirectoryPath & "\test.mdb")
kommer följande felmeddelande:
COMException was unhandled: Det går inte att använda ". Filen används redan.
Men jag tycker inte att jag använder den, för jag har kört close på alla dao.database objekt som har öppnat denna tidigare.
Har suttit många timmar med detta problemet nu, så all hjälp skulle vara mycket uppskattad!
Robin
Svara
Sv: ADODB.Connection problem
Kolla att det inte finns en fil som heter test.ldb i samma katalog som mdb-filen. Det är en låsfil för att man inte ska få kontaminerad data i basen. Är du säker på att ingen annan öppnat din databas, så öppna den med Access och stäng Access igen så ska den försvinna (säkrare än att bara radera låsfilen). Du kan alternativt tillåta att databasen öppnas som shared med låsning per recordset.
Mvh. Roffe
Svara
Sv:ADODB.Connection problem
.ldb filen skapas först efter att jag har lyckats kört igenom koden utan att få felmeddelandet, har jag upptäckt nu.
Jag kan ju nämna att jag skapar själva databasen några rader tidigare, med raden:
DbNy = DAODbEngine.CreateDatabase(My.Application.Info.DirectoryPath & "\test.mdb", DAO.LanguageConstants.dbLangGeneral)
Om man kommenterar bort denna raden och låter databasen ligga kvar, och sedan kör programmet igen så körs det igenom felfritt, och en .ldb fil skapas. Så det verkar som att det är själva skapandet av databasen som gör att felmeddelandet uppträder...
Svara
Sv: ADODB.Connection problem
När du skapar databasne öppnar nog den en exklusiv anslutning. Stänger du databasen ordentligt efter att du skapat den?
Svara
Sv:ADODB.Connection problem
Jag kör följande kommando för att stänga:
DbNy.Close()
Det är det enda kommandot jag känner till för att stänga.
Svara
Sv: ADODB.Connection problem
Tack för svaren. Jag kom runt problemet genom att köra DAO rakt igenom istället. Kom aldrig på varför det inte funkade så som jag gjorde från början dock.
Nu låser jag denna tråd.
Svara