Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

ASSEMBLIES en SQL Server 2005

Estas en el tema de ASSEMBLIES en SQL Server 2005 en el foro de SQL Server en Foros del Web. Buenas Tardes: Tengo el siguiente dilema: Tengo un sistema de tickets enlatado funcionando en SQL Server y APACHE y quiero que al crear un nuevo ...
  #1 (permalink)  
Antiguo 06/04/2010, 09:56
Avatar de mauro_bernal_rios  
Fecha de Ingreso: abril-2008
Ubicación: Mendoza
Mensajes: 88
Antigüedad: 16 años
Puntos: 2
ASSEMBLIES en SQL Server 2005

Buenas Tardes:

Tengo el siguiente dilema:
Tengo un sistema de tickets enlatado funcionando en SQL Server y APACHE y quiero que al crear un nuevo ticket en una aplicacion externa de VB NET le llegue un mensaje a está última.

Para ello es que:
He efectuado unas triggers para capturar el evento y mi idea es que se ejecute un store procedure que llame a la aplicacion externa de vb, pero no se bien como hacerlo.

Por lo que encontré lo podría hacer con los ASSEMBLIES de SQL Server 2005 (o posterior)

Entonces cree una clase en VB NET con una función muy simple que no hacía nada.
SP.DLL:
Código:
Imports system
Imports system.text
Imports system.Windows.Forms
Public Class SPCL
    Public Sub spsub()
        MsgBox("hola")
    End Sub
    Public Shared Function SPFN() As String
        Return SPFN
    End Function
End Class
Luego desde el SQL Server hice lo siguiente de acuerdo a los errores que fui encontrando

Código:
--Esto era por unos errores que tenia. Con esto se corrigio
ALTER DATABASE MANAGER
SET TRUSTWORTHY ON
GO
sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'clr enabled', 1;
GO
RECONFIGURE;
GO


--Crear el ASSEMBLY
CREATE ASSEMBLY SPAS
AUTHORIZATION dbo
FROM 'C:\Documents and Settings\Administrador\Mis documentos\Visual Studio 2005\Projects\SP\SP\bin\Debug\SP.dll'
WITH PERMISSION_SET = EXTERNAL_ACCESS
GO

--Creo una función para llamar al ASSEMBLIES creado antes

CREATE FUNCTION dbo.clrfuncion ( )
RETURNS nvarchar(200)
AS EXTERNAL NAME [SPAS].[SP.SPCL].[SPFN]; --Funcion que llama al ASSEMBLY

--Ejecuto esa función
exec clrfuncion

Hasta aqui me funcionó. Pero al incorporar las siguientes instrucciones en la clase de net me da errores
msgbox
process.start
al llamar a un form, etc



Por lo que veo es que no puedo mas que devolver valores escalares y cosas de ese estilo. Pero no estoy seguro.

Si me dan una mano estaré muy agradecido.






Desde ya muchas gracias por su tiempo.
__________________
Mauro Bernal
Sistemas y Web
http://maurobernal.com.ar
[email protected]

Etiquetas: server, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:46.