SoloCodigo
CLR: .Net / Mono / Boo / Otros CLR => VB .NET => Mensaje iniciado por: yecherm en Jueves 8 de Julio de 2010, 22:30
-
Saludos.
Resulta que tengo un programa en Visual Basic .net 2005 y se conecta a SQL 2005, he creado una Carpeta la cual tiene muchos archivos .sql en los cuales hay creación de vistas , funciones y procesos almacenados, bien en ves de copiar y script y llevármelo al código pensé que podría conseguir alguna forma de mandar a ejecutar esos archivos desde mi cogido usando la de auntentificacion de windows para SQL , he buscado pero lo poco que he conseguido no me ha funcionado.
Gracias de ante mano
-
Lo que se me ocurre es que abras el archivo (ya que es texto plano) y carges el contenido en una variable string, y ejecutes el contenido de esa variable como si fuera un insert o un delete mediante una conexión a la base de datos....
Avisame si te funciona, si necesitas mas ayuda, me dices, saludos B)
-
tengo una solucion es un poco chapucilla pero funciona.
en el codigo vb.net poner
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'en este caso es a pero se puede llamar como sea
Shell("c:a.bat", AppWinStyle.MaximizedFocus, True)
End Sub
dentro del a.bat ponemos la instruccion para ejecutar el scrip loquesea.sql, con la siguiente linea
rem:poner la ruta compelta donde esta el exe mysql y la ruta donde este el fichero sql
d:xamppmysqlbinmysql -u root < d:xamppmysqlbinloquesea.sql
Y dentro de el fichero loquesea.sql ponemos el conjunto de instrucciones a ejecutar ( en este caso crear una base de datos)
/****** SI EXISTE LA BASE DE DATOS LA BORRA ******/
DROP DATABASE IF EXISTS biblioteca;
CREATE DATABASE biblioteca;
USE biblioteca;
/****** SI EXISTE LA TABLA LA BORRA ******/
DROP TABLE IF EXISTS libro;
CREATE TABLE libro (
titulo VARCHAR(60),
escritor VARCHAR (80)
);
Asi seguro que funciona, es como lo hago yo.