Clarion - sp_dropextendedproc con DLL Clarion. Imposible!

 
Vista:

sp_dropextendedproc con DLL Clarion. Imposible!

Publicado por Mauro Pasetti (3 intervenciones) el 13/12/2009 00:18:30
Bueno, les comento que he generado un project para poder levantarlo como un extend procedure de SQL Server, pero no he logrado hacerlo funcionar.
En SQL Las intrucciones son las siguientes:
USE [master]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[OSVersion]') and OBJECTPROPERTY(id, N'IsExtendedProc') = 1)
exec sp_dropextendedproc N'[dbo].[OSVersion]'
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO
exec sp_addextendedproc N'OSVersion', N'E:\Desarrollo\MECBuscarCliente63\DLL Sola\Ejecutables\Funciones.dll'
GO
EXEC [dbo].[OSVersion]
GO
-- El procedimiento solo muestra un Message para avisar que se ha ejecutado.
-- EN Clarion, compile y Exporte correctamente la DLL, con algunas opciones de configuración especial para hacerlo compatible a C.
(He cambiado muchísimas opciones y siempre da el mismo error en SQL)
Mens. 0, Nivel 11, Estado 0, Línea 0
Error grave en el comando actual. Los resultados, si los hay, se deben descartar.
Mens. 0, Nivel 20, Estado 0, Línea 0
Error grave en el comando actual. Los resultados, si los hay, se deben descartar.

El Project es:
-- Funciones compartidas
#noedit
#system win32
#model clarion dll
#pragma call(standard_conv=>on)
#pragma data(cpp_compatible_class=>on)
#set RELEASE = on
#pragma debug(vid=>off)
#pragma check(stack=>on)
#pragma check(index=>on)
#pragma check(nil_ptr=>on)
#pragma check(overflow=>on)
--#pragma name(prefix=> (windows))
--#pragma name(prefix =>'')
#pragma optimize(cpu=>486)
#pragma optimize(speed=>on)
#pragma option(ansi =>on)
#pragma define(maincode=>on)
#compile "Funciones.clw"
#pragma link("C%V%TPS%X%%L%.LIB") -- GENERATED
#pragma link("C%V%MSS%X%%L%.LIB")
#link "Funciones.dll"
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:sp_dropextendedproc con DLL Clarion. Imposible!

Publicado por Mauro Pasetti (3 intervenciones) el 19/12/2009 22:41:06
Bueno, he logrado hacerlo en VC++ 2008 Express y estudiado mucho el tema. Es + difícil que trabajar con Clarion y COM (no se con la versión 7, pero con la 5.5 renegue mucho para trabajar con los objetos COM)
Lo que si es claro, es el problema de la incompatibilidad con los mecanismos de MS y SV, ya que por ejemplo una LIB de Clarion no tiene nada que ver con una LIB de MS y no he podido generar LIBs de Clarion con herramientas de MS (generan error).
Sin embargo, existen una serie de inconvenientes al utilizar una DLL Win32 desde SQL Server como un Extended Procedure, por lo tanto, tal vez utilice CLR con C# (todo depende la complejidad del problema).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar