Just nu i M3-nätverket
Gå till innehåll

Komprimera Access via asp


Johan Knape

Rekommendera Poster

Hej!

 

Försöker komprimera en mdb databas (Access 97) via ASP men lyckas inte för fem öre.

 

Har adressen:

http://www.pstruh.cz/tips/detpg_CompactMDB.htm

 

Och enligt den skall det gå att göra så här:

Set Engine = CreateObject("JRO.JetEngine")
  Engine.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=path\database.mdb", _
    "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=path\compacted_database.mdb"

Men som sagt det fungererar inte då jag har

lösenord på min databas. Testade att göra så här:

Set Engine = CreateObject("JRO.JetEngine")
  Engine.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Password=Lösenord;Data Source=path\database.mdb", _
    "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=path\compacted_database.mdb"
Men återigen så vägrar den, denna gången gnäller

den på att filen är öppen exklusiv utav någon.

 

Någon här som känner till hur man skall göra?

 

/Johan

Länk till kommentar
Dela på andra webbplatser

Robin Månsson

Tjenare.

 

Den här koden använde jag när jag gjorde ett VB-program som komprimerade en databas. Jag vet inte koden fungerar i ASP eftersom jag enbart har testat det i VB.

 

Function KomprimeraDB()

DBPath = "enhet:\sökväg\" 'Sökvägen till mappen där databasen ligger.

 

DBEngine.CompactDatabase DBPath & "DinDatabas.mdb", DBPath & "DinDatabas_temp.mdb"

Kill DBPath & "DinDatabas.mdb"

Name DBPath & "DinDatabas_temp.mdb" As DBPath & "DinDatabas.mdb"

 

End Function

 

--------------------------

Eftersom databasen kanske används så skapas en temporär databas som komprimeras. Sedan tas orginaldatabasen och dess låsningsfil bort och sedan byter man namn på den temporära databasen till orginalnamnet.

 

Prova om det funkar.

 

[inlägget ändrat 2001-12-27 15:16:42 av RobinM]

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...