Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: HacKreatorz en 17 Febrero 2010, 07:54 am



Título: Problemas al crear una base de datos sql en VB.NET
Publicado por: HacKreatorz en 17 Febrero 2010, 07:54 am
Buenas, estoy creando una aplicación en VB.NET 2008 y necesito que al pulsar un botón se cree una base de datos. Estoy siguiendo un tutorial de otra web. Estoy usando este código, modifiqué bastante el que salía en el tuto y se me quedó así:

Citar
Dim str As String
                Dim myConn As SqlConnection = New SqlConnection("Server=127.0.0.1;" & _
                                                                "uid=sa;pwd=;database=master")
                str = "CREATE DATABASE MyDatabase ON PRIMARY " & _
                      "(NAME = MyDatabase_Data, " & _
                      " FILENAME = 'C:\Archivos de programa\AllDataBase Manager\Bases de Datos\'" & nombreBD & "'\MyDatabaseData.mdf', " & _
                      " SIZE = 2MB, " & _
                      " MAXSIZE = 10MB, " & _
                      " FILEGROWTH = 10%) " & _
                      " LOG ON " & _
                      "(NAME = MyDatabase_Log, " & _
                      " FILENAME = 'C:\Archivos de programa\AllDataBase Manager\Bases de Datos\'" & nombreBD & "'\ MyDatabaseLog.ldf', " & _
                      " SIZE = 1MB, " & _
                      " MAXSIZE = 5MB, " & _
                      " FILEGROWTH = 10%) "

                Dim myCommand As SqlCommand = New SqlCommand(str, myConn)
                Try
                    myConn.Open()
                    myCommand.ExecuteNonQuery()
                    MessageBox.Show("   B ase de Datos creada correctamente", _
                                    "MyProgram", MessageBoxButtons.OK, _
                                     MessageBoxIcon.Information)
                Catch ex As Exception
                    MessageBox.Show(ex.ToString())
                    LabelInfoBD.Text = "Error al crear la base de datos"
                Finally
                    If (myConn.State = ConnectionState.Open) Then
                        myConn.Close()
                    End If
                End Try
                LabelInfoBD.Refresh()
            End If


No me funciona el código, le doy al botón pero se queda pillado, no se que es lo que está mal, no se si es el servidor que puse que me parece que es uno localhost que es lo que quiero... He buscado en muchísimas webs, en español y en inglés y ya no sé que hacer.


Título: Re: Problemas al crear una base de datos sql en VB.NET
Publicado por: Grave en 17 Febrero 2010, 08:45 am
Hace tiempo que no toco VB.NET pero creo que te falta source=.\$SQLSERVER


Título: Re: Problemas al crear una base de datos sql en VB.NET
Publicado por: HacKreatorz en 17 Febrero 2010, 16:37 pm
Y eso donde lo tendria que poner?? Y que hace exactamente??

Gracias por responder, es la primera vez que me responden xDDD


Título: Re: Problemas al crear una base de datos sql en VB.NET
Publicado por: Shell Root en 17 Febrero 2010, 18:10 pm
Dentro de la variable de conexión
Código
  1. Dim myConn As SqlConnection = New SqlConnection("Server=127.0.0.1;uid=sa;pwd=;database=master")

Deberia ser así: (Ejemplo en SQL Server 2008)
Código
  1. Public strcnn As New SqlConnection("Data Source=ALEX\SHELLROOT;Initial Catalog=BD_HackLAB;Integrated Security=SSPI;")

Donde dicé Data Source=ALEX\SHELLROOT;, al momento de realizar la instalación, le podes asiganar el nombre de la instacia del SQL, por lo generar es Nombre_del_Equipo\SQLEXPRESS.

PD: http://www.connectionstrings.com/ Selecciona el Motor de Base de Datos que estas usando y mirás los String de Conexión


Título: Re: Problemas al crear una base de datos sql en VB.NET
Publicado por: HacKreatorz en 17 Febrero 2010, 23:54 pm
Bueno, cambié lo que me dijistes dejandolo asi:

Código:
Dim myConn As New SqlConnection("Data Source=TecnoPlanet\SQLEXPRESS;Initial Catalog=" & nombreBD & ";Integrated Security=SSPI;")

TecnoPlanet es el nombre de mi PC. Se sigue quedando pillado, he intentado colocar puntos de interrupcion (acabo de descubrirlos xDD) y he visto que despeus de esa linea no se queda pillado sino despues de:

Código:
                str = "CREATE DATABASE MyDatabase ON PRIMARY " & _
                      "(NAME = MyDatabase_Data, " & _
                      " FILENAME = 'Bases de Datos\'" & nombreBD & "'\MyDatabaseData.mdf', " & _
                      " SIZE = 2MB, " & _
                      " MAXSIZE = 10MB, " & _
                      " FILEGROWTH = 10%) " & _
                      " LOG ON " & _
                      "(NAME = MyDatabase_Log, " & _
                      " FILENAME = 'Bases de Datos\'" & nombreBD & "'\ MyDatabaseLog.ldf', " & _
                      " SIZE = 1MB, " & _
                      " MAXSIZE = 5MB, " & _
                      " FILEGROWTH = 10%) "

Gracias por todo!


Título: Re: Problemas al crear una base de datos sql en VB.NET
Publicado por: Shell Root en 18 Febrero 2010, 00:31 am
Aver, no dije DIRECTAMENTE, que era el Nombre_del_PC/SQLEXPRESS, es el nombre que le diste a la instancia del SQL, cuando se está instalando. Ahora, veo que el error no es en la conexion del SQL, sino al momento de crear la base de datos.

Leeté esto http://www.elguille.info/NET/adonet/Crear_una_base_de_datos_de_SQL_Server_mediante_codigo_de_Visual_Basic.htm

Saludos!


Título: Re: Problemas al crear una base de datos sql en VB.NET
Publicado por: HacKreatorz en 18 Febrero 2010, 07:19 am
Ese tutorial fue el primero que vi, y vi lo que monta para elegir las instancias, pero  yo no quiero que deje elegir al usuario, sino que elija automaticamente el de sqlexpress (¿Para esto, le tengo que pedir a los usuarios que se instalen el programa este no?). Bueno, a partir de ese tutorial fui cambiando el codigo, le añadi esto que vi en otro tutorial porque pensé que  lo mejor así me funcionaría pero me siguió yendo igual:

Código:
  str = "CREATE DATABASE MyDatabase ON PRIMARY " & _
                      "(NAME = MyDatabase_Data, " & _
                      " FILENAME = 'Bases de Datos\'" & nombreBD & "'\MyDatabaseData.mdf', " & _
                      " SIZE = 2MB, " & _
                      " MAXSIZE = 10MB, " & _
                      " FILEGROWTH = 10%) " & _
                      " LOG ON " & _
                      "(NAME = MyDatabase_Log, " & _
                      " FILENAME = 'Bases de Datos\'" & nombreBD & "'\ MyDatabaseLog.ldf', " & _
                      " SIZE = 1MB, " & _
                      " MAXSIZE = 5MB, " & _
                      " FILEGROWTH = 10%) "

No sé si el error está ahi asi que si me puedes ayudar te lo agradeceria mucho.