SQL Scritp en VS.NET 2008

Iniciado por striderwar, 7 Abril 2011, 01:28 AM

0 Miembros y 1 Visitante están viendo este tema.

striderwar

Hola, se puede ejectuar un SQL Script, sin necesidad de entrar a consola, lo que pasa que muchas veces no tienen instalado MySQL y necesito que se actualice la BD mediante el script y cree un Log,
yo tengo este codigo pero usa la consola,

Código (vbnet) [Seleccionar]
   Private Sub BackgroundWorker1_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork
       Dim dgRespuesta As DialogResult
       Dim RutaMysqlContra, RutaMysql As String
       dgRespuesta = MsgBox("<¿> ¿Deseas actualizar la base de datos? <?>", MsgBoxStyle.Question + MsgBoxStyle.YesNo)
       If (dgRespuesta = Windows.Forms.DialogResult.Yes) Then
           Dim Servidor, Usuario, Bd, Puerto, Pass As String
           Servidor = Me.txtServidor.Text
           Usuario = Me.txtUsuario.Text
           Bd = Me.txtNombreBd.Text
           Puerto = Me.txtPuerto.Text
           Pass = Me.txtContraseña.Text
           Me.BackgroundWorker1.ReportProgress(50)
           Try
               If Me.txtContraseña.Text <> "" Then
                   RutaMysqlContra = Application.StartupPath & "\update.bat"
                   'Shell("""" & RutaMysqlContra & """", AppWinStyle.Hide, True)
                   Microsoft.VisualBasic.Interaction.Shell("cmd.exe /C mysql -h " & Servidor & " -u " & Usuario & " -p" & Pass & " -P " & Puerto & " -e ""source " & fbdCarpetas.SelectedPath & "\update.sql" & """ -vvv " & Bd & " > ""C:\log.txt"" ", AppWinStyle.Hide, True)
               Else
                   RutaMysql = Application.StartupPath & "\Update2.bat"
                   'Shell("""" & RutaMysql & """", AppWinStyle.Hide, True)
                   Microsoft.VisualBasic.Interaction.Shell("cmd.exe /C mysql -h " & Servidor & " -u " & Usuario & " -P " & Puerto & " -e ""source " & fbdCarpetas.SelectedPath & "\update.sql" & """ -vvv " & Bd & " > ""C:\log.txt"" ", AppWinStyle.Hide, True)
               End If
           Catch ex As Exception
               MessageBox.Show(ex.Message.ToString())
           Finally
           End Try
           Me.BackgroundWorker1.ReportProgress(100)
       Else
           MsgBox("<¡> El Usuario ha cancelado la actualizacion del programa <!>", MsgBoxStyle.Exclamation)
           e.Cancel = True
       End If
   End Sub


Gracias.

Novlucker

Definitivamente necesitas cambiar eso :xD Deberías de utilizar el conector de .NET para MYSQL en lugar de hacer esas barbaridades :-X
http://dev.mysql.com/doc/refman/5.1/en/connector-net-ref-mysqlclient.html

En la red encuentras más ejemplos de esos :P

Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

[D4N93R]

Y sí, si se puede hacer, crea una aplicacion Windows y borras todo menos el Program.cs .

Haces todo dentro del Main :)

Un saludo!