Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

maxcim

Backup do MySQL com VB

Recommended Posts

bom dia amigos, estou com o seguinte problema: tenho que efetuar o backup de uma base MySQL que esta no servidor on line eeste backup tem que ser gravado na maquina cliente que solicitou o mesmo.uso para isso o código abaixo, porem só funciona local e como disse abase e online.segue o código...Private Sub BackupMySQL(NomeEsquema As String, PastaDestino As String)Dim Esquema As New ADODB.RecordsetDim rs1 As New ADODB.RecordsetIf cnn.State = adStateOpen Then cnn.Closecnn.ConnectionString = "DRIVER={MySQL ODBC 3.51 Driver};SERVER=" & Server_MySql & ";PORT=" & Porta_MySql & ";DATABASE=" & NomeEsquema & ";USER=" & User_MySql & ";PASSWORD=" & Senha_MySql & ";OPTION=3"cnn.OpenDim SQL, Indices, Primaria As StringDim SplitadoSet Esquema = cnn.OpenSchema(adSchemaTables)Open PastaDestino & "\" & NomeEsquema & ".str" For Output As #1Do While Not Esquema.EOF Primaria = "" Indices = "" Set rs1 = New ADODB.Recordset rs1.Open "describe " & Esquema!table_name, cnn SQL = "CREATE TABLE " & Esquema!table_name & "(" Do While Not rs1.EOF SQL = SQL & "`" & rs1!Field & "` " & rs1!Type & IIf(rs1!Null <> "YES", " NOT NULL ", "") & IIf(IsNull(rs1!Default), "", " DEFAULT '" & rs1!Default & "'") & ", " If rs1!Key = "PRI" Then Primaria = Primaria & "`" & rs1!Field & "`," If rs1!Key = "MUL" Then Indices = Indices & "" & rs1!Field & "," rs1.MoveNext Loop SQL = Left(SQL, Len(SQL) - 2) SQL = SQL & ")" Print #1, SQL Dim I As Integer If Primaria <> "" Then Primaria = Left(Primaria, Len(Primaria) - 1) SQL = "ALTER TABLE " & Esquema!table_name & " ADD PRIMARY KEY(" & Primaria & ")" Print #1, SQL End If If Indices <> "" Then Indices = Left(Indices, Len(Indices) - 1) Splitado = Split(Indices, ",") For I = 0 To UBound(Splitado) SQL = "ALTER TABLE " & Esquema!table_name & " ADD index `" & Esquema!table_name & "_" & Splitado(I) & "`(`" & Splitado(I) & "`)" Print #1, SQL Next I End If Esquema.MoveNextLoopClose #1If rs1.State = adStateOpen Then rs1.Close Esquema.MoveFirstEnd IfDo While Not Esquema.EOF' cnn.Execute "select * into outfile '" & Replace(PastaDestino, "\", "/") & "/" & NomeEsquema & "_" & Esquema!table_name & ".dat' from " & Esquema!table_name ARQ = Replace(PastaDestino, "\", "/") & "/" & NomeEsquema & "_" & Esquema!table_name & ".dat" Debug.Print ARQ cnn.Execute "select * into outfile '" & ARQ & " ' from " & Esquema!table_name ' cnn.Execute "select * into dumpfile '" & ARQ & " ' from " & Esquema!table_name 'cnn.Execute "select * INTO dumpFILE '" & ARQ & " ' fields terminated by ',' optionally enclosed by lines terminated by \n from " & Esquema!table_name Esquema.MoveNextLoopEnd Subse alguem souber como se faz, ficarei agradecidomaxcim@ig.com.br (Msn)kleisson

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.