USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Dúvida sobre o ADO
¨Hennyere¨
Pontos: 2843
SALVADOR
BA - BRASIL
Postada em 10/01/2006 11:46 hs         
Com o DAO uso DBEngine.CompactDatabase  para compactar uma base de dados. e com o ADO, o que devo usar?
     
Bruno
não registrado
ENUNCIADA !
Postada em 10/01/2006 14:47 hs   
cara eu tenho um projeto q faz isso ..
só me deixa eu axar aqui q eu ja te dou um HELP!!!
   
Elieser Topassi
Pontos: 2843 Pontos: 2843
SÃO JOSÉ DO RIO PRETO
SP - BRASIL
Postada em 10/01/2006 14:54 hs            
O ADO não tem suporte direto no JET... vc vai precisar disparar uma API na maquina onde esta o banco pra compactar... eu nao sei o codigo...
Mas me responda uma coisa com sinceridade: vc precisa mesmo disso na sua aplicação?
eu nunca encontrei uma aplicação pratica pra isso...
 
Flw!


Elieser Carlos Topassi
Analista de Sistemas - Desenvolvedor VB/ASP/.Net

e-mail/msn:
elieser_topassi@yahoo.com.br
São José do Rio Preto,SP - Brasil
_____________________________________________________
Emoções "O caminho do tolo aos seus prórios olhos lhe parece reto, mas o sábio ouve conselhos" (Pv 12:15)

     
Claudio EngeSys
PARANAGUA
PR - BRASIL
Postada em 10/01/2006 15:22 hs            
Eu uso o seguinte e funciona:
 
Public vErro As String
Public Function compactaDB(ByVal origem_path As String, _
ByVal destino_path As String) As Boolean
On Error GoTo Erro_compacta
Dim DB_origem As String, DB_destino As String
Dim JRO As JRO.JetEngine
Set JRO = New JRO.JetEngine
DoEvents
DB_origem = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & origem_path
DB_destino = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & destino_path & " ;Jet OLEDB:Engine Type=5"
JRO.CompactDatabase DB_origem, DB_destino
compactaDB = True
Kill (origem_path)
Name destino_path As origem_path
DoEvents
Exit Function
Erro_compacta:
compactaDB = False
vErro = Err.Description
MsgBox Err.Description, vbExclamation
End Function
 
 

Claudio Alves.
     
MINER
POTIRENDABA
SP - BRASIL
Postada em 10/01/2006 15:30 hs            
si ti ajuda veja isso
'Usando ADO:
'Marque nas referências "Microsoft Jet and Replication
'Objects 2.1 Library" e:
Private Sub ADO_CompactarDB()
  'Iniciamos o tratamento de erros.
  'Se algo der errado, vamos para a linha indicada.
  On Error Goto ErroCompactar
  'Declaramos as variáveis
  Dim JR As New JRO.JetEngine
  Dim S_DbNome As String, S_DbTemp As String
  'Descobrimos o caminho do Arquivo Original
  'e do Arquivo Temp
  S_DbNome = App.Path & "Armarinho.mdb"
  S_DbTemp = App.Path & "AdmTmp.mdb"
  If Right$(App.Path, 1) = "" Then
    S_DbNome = App.Path & "Armarinho.mdb"
    S_DbTemp = App.Path & "AdmTmp.mdb"
  End If
  'Descobrimos se o Arquivo Temp existe...
  If Dir$(S_DbTemp) <> "" Then
    'Se existe, deletamos (vide *Kill lá em baixo)
    Call Kill(S_DbTemp)
  End If
  'Compactamos o banco de dados com o
  'nome de Arquivo Temp
  JR.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                     "Data Source=" & S_DbNome & ";", _
                     "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                     "Data Source=" & S_DbTemp & ";Jet." & _
                     "OLEDB:Engine Type = 4;"
  'Este "Engine Type" no final indica a versão do Access que está
  'sendo usada. Veja os valores e as versões correspondentes:
  '5 (Defaut) para Access 2000
  '4 para Access 97
  '3 para Access 95/6
  '2 para Access 2
  '1 para Access 1
  'Se Arquivo Original existir...
  If Dir$(S_DbNome) <> "" Then
    'deleta
    Call Kill(S_DbNome)
  End If
  'Aqui, vc poderia usar a instrução
  'Name (vide *Name lá em baixo)
  JR.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                     "Data Source=" & S_DbTemp & ";", _
                     "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                     "Data Source=" & S_DbNome & ";Jet." & _
                     "OLEDB:Engine Type = 4;"
  'Se chegamos até aqui, avisa ao usuário que
  'tudo correu bem...
  MsgBox "Compactação do Banco de Dados " & _
         S_DbNome & " executada com sucesso.", _
         vbOKOnly + vbInformation, "Compactação"
  Set JR = Nothing
Exit Sub
ErroCompactar:
  'Se caiu aqui, é porque houve erro. Avise ao usuário.
  MsgBox "Houve um erro inesperado ao compactar o " & _
         S_DbNome & " ." , vbOKOnly + vbInformation, _
         "Compactação"
  'Limpa o erro. Não é obrigatório mais é de bom
  'costume fazer.
  Err.Clear
End Sub
Kill >>> Esta expressão DELETA o arquivo especificado do HD, mais deve ser usada com cuidado. Este arquivo deletado NÃO será armazenado na lixeira. Para usa-la, vc deve se certificar que o arquivo realmente exista.
Name >>> A instrução Name, copia um arquivo para outro local com 'outro nome'. No lugar do segundo CompactDatabase, vc poderia usar a instrução Name. Isto é só uma questão de escolha. Eu coloquei assim como ilustração, mais os dois modos funcionam. Cuidado: como na instrução CompactDatabase, na instrução Name o arquivo que será copiado tem que existir, caso contrário dará erro.
 
valeu t+
 
     
Página(s): 1/1    

CyberWEB Network Ltda.    © Copyright 2000-2025   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página