lunes, 29 de septiembre de 2008

Crear un Store Procedure en SQL 2005 con Visual Studio

Creando Codigo para objetos de Sql server 2005
Pasos.
1.) Inicio Visual Studio
2.) Cree un nuevo projecto de tipo "SQL Server project"
3.) Inmediatemente de Crear el proyecto le pedira connectarse con su servidor. Ingrese la informacion necesaria(usuario,password,servidor)
4.) Inmediatemente Le preguntara que si decea Habilitar el Sql/CLR Debugging, indique que si
5.)Sobre el proyecto presione click derecho busque add y luego elija Store Procedure( en el solution explorer) coloque un nombre a su nuevo store procedure(sp.vb o sp.cs)
6.)En el Sp que acaba de crear asegure de tener las siguientes Imports ó Using
Imports System
Imports System.Data
Imports System.Data.Sql
Imports System.Data.SqlTypes
Imports Microsoft.SqlServer.Server
7.) y de aqui en adelante es una Sub ó Void totalmente Normal, un ejemplo sensillo
Public Shared Sub StoredProcedure1
Dim conn As New SqlConnection("context connection=true")
conn.Open()

Dim cmd As New SqlCommand("SELECT ProductID, Name, ListPrice FROM Production.Product ORDER BY ListPrice DESC", conn)
SqlContext.Pipe.ExecuteAndSend(cmd)
End Sub

8.) Luego f5 y ya esta en sql server, pueder ir a verlo con el Management Studio en la seccion de programacion, Store procedure
puedes ejecutarlo
con un exe. Ejemplo.
exec dbo.StoredProcedure1

si te sale este error
Msg 6263, Level 16, State 1, Line 1Execution of user code in the .NET Framework is disabled. Enable "clr enabled" configuration option.
Tenemos problemas pero es por que no tiene habilitado el .net framework en el sql
corre este script para correjilo.

sp_configure 'clr enabled', 1
go
reconfigure
go
Para Probar el Sp en el mismo .net tiene que hacer los siguiente pasos:

1.) Pon un break point sobre tu Store procedure.
2.)Preciona click derecho sobre tu proyecto y agrega un TEST SCRIPT
agrega el codigo de tu prueba de script que si es al que esta arriba deberia ser asi:
exec dbo.StoredProcedure1
y preciona click derecho sobre su script de prueba en que mi caso se llama test.sql y le dices que sea el default script.
3.) preciona f5 y ahora no solo lo pasara al sql si no que hara una pausa en tu break point.

2 comentarios:

Andy00 dijo...

mano you are the master mis respeto a ti jajaa llego el miercoles tengo un par de preguntitas ahi con vox ..buso pue.s.
http://andymartinez00.blogspot.com/

Te voy a poner en mi blog como links de consulta...chaou

Julio daniel dijo...

Que buen articulo.... probado... y sin errores..... como se espera de vos :D