Jump to content
Fórum Script Brasil
  • 0

Compacte Bancos De Dados Mdb Pelo Asp/vbs Script


Marcos-rj

Question

Você pode compactar bancos de dados do Access (MDB) de uma aplicação ASP de duas formas:

1. Via DAO (versão 3.5 precisa estar instalada)

Set Engine = CreateObject("DAO.DBEngine.35")

Engine.CompactDatabase "path\database.mdb", "path\compacted_database.mdb"

2. JRO (MDAC 2.1 ou superior precisa estar instalado)

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"

Ambas as soluções não suportam a compactação para o mesmo nome de arquivo. Você precisa criar um banco de dados compactado temporário e então copiá-lo sobre o bancos de dados original.

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

Fonte: ASP4DEVELOPERS

Link to comment
Share on other sites

6 answers to this question

Recommended Posts

  • 0

meu, sempre quis saber isso.

o que é JRO??? não tem como fazer com ADO??

no ASP nem tem tanto problema, mas sempre precisei fazer pelo Visual Basic. ai no caso, vai ser um saco adicionar no projeto as bibliotecas DAO ou desse JRO, seja la o que for.

Link to comment
Share on other sites

  • 0

Um exemplo de uso:

<%
option explicit

Function CompactaDB(CaminhoDB,Access97)
Dim fso, Engine, strCaminhoDB
strCaminhoDB = left(CaminhoDB,instrrev(CaminhoDB,"\"))
Set fso = CreateObject("Scripting.FileSystemObject")

If fso.FileExists(CaminhoDB) Then
      Set Engine = CreateObject("JRO.JetEngine")
      If Access97 = "True" Then
           Engine.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & CaminhoDB, _
           "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strCaminhoDB & "temp.mdb;" _
           & "Jet OLEDB:Engine Type=4"
      Else
           Engine.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & CaminhoDB, _
           "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strCaminhoDB & "temp.mdb"
      End If
      fso.CopyFile strCaminhoDB & "temp.mdb",CaminhoDB
      fso.DeleteFile(strCaminhoDB & "temp.mdb")
      Set fso = nothing
      Set Engine = nothing
      CompactaDB = "Seu banco de dados, " & CaminhoDB & ", foi compactado com sucesso" & vbCrLf
Else
      CompactaDB = "O Caminho ou o banco de dados não foi localizado.Tente outra vez..." & vbCrLf
End If

End Function
%>
<html><head><title>Compactação ON-LINE</title></head><body>

<h2 align="center"> Compactando uma base de dados Access Remota</h2>
<p align="center">
<form action=compacta.asp>
  Informe o caminho relativo da base de dados incluindo o nome do banco de dados.<br><br>
  <input type="text" size="50" name="CaminhoDB"><br><br>
  <input type="checkbox" name="Access97" value="True">Clique Aqui se a versão for Access 97<br><i> ( Access 2000 é o padrão )</i><br><br>
  <input type="submit" value="Iniciar Compactação">
<form>
<br><br>
<%
Dim CaminhoDB,Access97
CaminhoDB = request("CaminhoDB")
Access97 = request("Access97")

If CaminhoDB <> "" Then
   CaminhoDB = server.mappath(CaminhoDB)
   response.write(CompactaDB(CaminhoDB,Access97))
End If
%>
</p>

</body>

JRO é uma extensão da ADO: Microsoft Jet OLE DB Provider and Replication Objects (JRO).

Link to comment
Share on other sites

  • 0

to ligado, mas é que eu não conheco esse JRO e não sei qual a dll dele nem nada. muito menos esse MDAC. ai como eu vi que dava pra fazer com DAO, quis saber se dava pra fazer com ADO, que seria melhor para mim. mas valeu, se eu descobrir alguma coisa eu posto.

Link to comment
Share on other sites

  • 0

JRO é uma extensão da ADO: Microsoft Jet OLE DB Provider and Replication Objects (JRO).

A ADO não nos fornece meios para reparar ou compactar um banco de dados Access. Para realizar tal tarefa devemos usar uma extensão da ADO: Microsoft Jet OLE DB Provider and Replication Objects (JRO). Esta capacidade foi implementada a partir da versão 4.0 do PROVEDOR JET OLE DB (Mjsetoledb40.dll) e da versão 2.1 da JRO (Msjro.dll) . Esses arquivos estão disponíveis para instalação na MDAC 2.1

Universal Data Access Web Site

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.1k
    • Total Posts
      651.9k
×
×
  • Create New...