Just nu i M3-nätverket
Jump to content

Komprimera Access via asp


Johan Knape

Recommended Posts

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

Link to comment
Share on other sites

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]

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...