Marcos-rj Postado Agosto 4, 2006 Denunciar Share Postado Agosto 4, 2006 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Agosto 4, 2006 Denunciar Share Postado Agosto 4, 2006 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. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Marcos-rj Postado Agosto 4, 2006 Autor Denunciar Share Postado Agosto 4, 2006 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). Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Agosto 4, 2006 Denunciar Share Postado Agosto 4, 2006 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. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Marcos-rj Postado Agosto 4, 2006 Autor Denunciar Share Postado Agosto 4, 2006 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.1Universal Data Access Web Site Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Agosto 4, 2006 Denunciar Share Postado Agosto 4, 2006 ah é? valeu.acho que desse jeito está bom então Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Marcos-rj Postado Agosto 4, 2006 Autor Denunciar Share Postado Agosto 4, 2006 Da uma olhada neste link:http://web.1asphost.com/wagnerps/dicas.asp...=1&codigo=9 Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Marcos-rj
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 para o comentário
Compartilhar em outros sites
6 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.