Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-07-2007
Avatar de papulo
papulo papulo is offline
Miembro
 
Registrado: ago 2005
Ubicación: Lleida - Cataluña - España -Europa - Planeta tierra - Sistema solar - Via Lactea ...
Posts: 542
Poder: 19
papulo Va por buen camino
Programar STORED PROCEDURES

Hola gente, me enfrento a un nuevo problema, esta vez relacionado con un STORED PROCEDURE que se activará con un TRIGGER.

Necesito hacer un SP que, pasando un varchar, me lo limpie de carcateres "especiales" (que yo decidiré, pero lo típico, letras con acentos y tal y cual) y me pase a mayúsculas, para después en el campo que decida.

¿Problemas? Pues todos, no he hecho nada de esto nunca, no se con que leguaje se escriben ni nada, así que necesito una pequeña ayudita que me eche a andar y arreando.

Gracias gente.
__________________
"El aprendizaje potencia la intuición"
Yo mismo, en un momento de inspiración. v2.0
Responder Con Cita
  #2  
Antiguo 26-07-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 30
jhonny Va camino a la famajhonny Va camino a la fama
Puedes hacer una DLL en Delphi con alguna función que exporte y que haga esas cosas que necesitas, para luego ponerla en el FireBird como una UDF y mas tarde podrías hacer uso de ella en tu "Stored Procedure".

Si no me hice entender, avisame, para ver que podemos hacer
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #3  
Antiguo 27-07-2007
Avatar de papulo
papulo papulo is offline
Miembro
 
Registrado: ago 2005
Ubicación: Lleida - Cataluña - España -Europa - Planeta tierra - Sistema solar - Via Lactea ...
Posts: 542
Poder: 19
papulo Va por buen camino
Mas o menos entiendo tu opción, pero quiero programarlos en la DB con el lenguaje que se tenga que usar, para poder utilizarlo siempre que quiera, independientemente del programa que acceda a la DB.

Se que es sencillo hacer dicha función, por ejemploo en PHP la tengo implementada, pero si la hago en la DB, me ahorraré seguir repitiendola con cada lenguaje que utilice, ahí reside la utilidad de la misma.
__________________
"El aprendizaje potencia la intuición"
Yo mismo, en un momento de inspiración. v2.0
Responder Con Cita
  #4  
Antiguo 27-07-2007
Avatar de Ivanzinho
[Ivanzinho] Ivanzinho is offline
Miembro Premium
 
Registrado: ene 2005
Ubicación: Galicia
Posts: 595
Poder: 20
Ivanzinho Va por buen camino
Cita:
Empezado por papulo
Mas o menos entiendo tu opción, pero quiero programarlos en la DB con el lenguaje que se tenga que usar, para poder utilizarlo siempre que quiera, independientemente del programa que acceda a la DB.

Se que es sencillo hacer dicha función, por ejemploo en PHP la tengo implementada, pero si la hago en la DB, me ahorraré seguir repitiendola con cada lenguaje que utilice, ahí reside la utilidad de la misma.
Las UDF te permiten todo esto que acabas de comentar, lo único que tendrias que hacer es introducirla en la carpeta UDF del directorio firebird del servidor de bases de datos.
__________________
Si no lees esto no vivirás tranquilo
Non lle poñades chatas â obra namentras non se remata. O que pense que vai mal que traballe n’ela; hai sitio para todos. (Castelao)
Responder Con Cita
  #5  
Antiguo 27-07-2007
Avatar de papulo
papulo papulo is offline
Miembro
 
Registrado: ago 2005
Ubicación: Lleida - Cataluña - España -Europa - Planeta tierra - Sistema solar - Via Lactea ...
Posts: 542
Poder: 19
papulo Va por buen camino
Pero no quiero usar DELPHI para programar una DLL. Es cuestión de principios, pero quiero saber si hay un leguaje (o varios) para hacerlo directamente, libres y bien documentados preferentemente.

Es una cuestión de dependencia, solo eso.

De todas formas, gracias por las respuestas.
__________________
"El aprendizaje potencia la intuición"
Yo mismo, en un momento de inspiración. v2.0
Responder Con Cita
  #6  
Antiguo 27-07-2007
Avatar de Ivanzinho
[Ivanzinho] Ivanzinho is offline
Miembro Premium
 
Registrado: ene 2005
Ubicación: Galicia
Posts: 595
Poder: 20
Ivanzinho Va por buen camino
Cita:
Empezado por papulo
Pero no quiero usar DELPHI para programar una DLL. Es cuestión de principios, pero quiero saber si hay un leguaje (o varios) para hacerlo directamente, libres y bien documentados preferentemente.

Es una cuestión de dependencia, solo eso.

De todas formas, gracias por las respuestas.
No se si lo que no quieres es no usar DELPHI o no usar UDF´s. Si lo que no quieres usar es Delphi puedes crear las UDF´s en otros lenguajes, y estas non tienen por que ser .DLL, pueden ser .SO.

Entre los lenguajes que puedes usar está C++, pascal, ... y no tienes que quedarte con las opciones de CodeGear ya que existen muchas otras y libres.

Un saúdo
__________________
Si no lees esto no vivirás tranquilo
Non lle poñades chatas â obra namentras non se remata. O que pense que vai mal que traballe n’ela; hai sitio para todos. (Castelao)
Responder Con Cita
  #7  
Antiguo 27-07-2007
Avatar de papulo
papulo papulo is offline
Miembro
 
Registrado: ago 2005
Ubicación: Lleida - Cataluña - España -Europa - Planeta tierra - Sistema solar - Via Lactea ...
Posts: 542
Poder: 19
papulo Va por buen camino
Cita:
Empezado por Ivanzinho
No se si lo que no quieres es no usar DELPHI o no usar UDF´s. Si lo que no quieres usar es Delphi puedes crear las UDF´s en otros lenguajes, y estas non tienen por que ser .DLL, pueden ser .SO.

Entre los lenguajes que puedes usar está C++, pascal, ... y no tienes que quedarte con las opciones de CodeGear ya que existen muchas otras y libres.

Un saúdo
Vale, ahora lo entiendo. ¿Podeis explicar de forma mas extensa, el como hacerlo por ejemplo con PHP? o sino ¿cuales son los lenguajes soportados para ello?
Si las explicaciones son muy tochas, y hay algun/os sitio donde lo expliquen bien, tanto en castellano como en inglés, decidme donde que yo me pongo al ajo y dejo de daros la brasa.

Gracias por la atención.
__________________
"El aprendizaje potencia la intuición"
Yo mismo, en un momento de inspiración. v2.0
Responder Con Cita
  #8  
Antiguo 27-07-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 30
jhonny Va camino a la famajhonny Va camino a la fama
Si haces la Dll en lenguaje que sea, podrás usarla por ejemplo en una consulta asi:

Código SQL [-]
 
select MatarCaracteresExtranos(:Campo) from TablaConDichoCampo

o en un procedure asi:

Código SQL [-]
 
CampoSinCaracteresRaros = MatarCaracteresExtranos(:Campo);

Esa consulta podrás ejecutarla desde php o lo que sea, ya que el motor es quien hará uso de dicha DLL independientemente de quien la este ejecutando.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #9  
Antiguo 27-07-2007
Avatar de Ivanzinho
[Ivanzinho] Ivanzinho is offline
Miembro Premium
 
Registrado: ene 2005
Ubicación: Galicia
Posts: 595
Poder: 20
Ivanzinho Va por buen camino
Revisa esto. Aquí explican como crear una UDF en C/C++ para windows y para linux, y como declararla posteriormente en firebird. Una vez declarada para usarla posteriormente solo tendras que llamarla desde un procedimiento almacenado, un trigger o una consulta, y pasarle los parametros correspondientes.

Aunque el ejemplo esta en C/C++ puedes utilizar cualquier otro lenguaje capaz de generar bibliotecas de funciones(DLL en windows y SO en linux), para lo cual creo que PHP no vale. Si deseas hacerlo en FreePascal puedo pasarte alguna de las que tengo yo hechas en Delphi, por si te sirve de ejemplo.

Si tienes alguna duda más aquí estaré para ayudarte en lo que pueda.

Un saúdo.
__________________
Si no lees esto no vivirás tranquilo
Non lle poñades chatas â obra namentras non se remata. O que pense que vai mal que traballe n’ela; hai sitio para todos. (Castelao)
Responder Con Cita
  #10  
Antiguo 27-07-2007
Avatar de papulo
papulo papulo is offline
Miembro
 
Registrado: ago 2005
Ubicación: Lleida - Cataluña - España -Europa - Planeta tierra - Sistema solar - Via Lactea ...
Posts: 542
Poder: 19
papulo Va por buen camino
Mientras esperaba una respuesta, he visto que puedo usar Lazarus para programar los UDFs, por lo que aceptaré de buena gana esos ejemplos para ver como funciona e irme haciendo a la idea.

Voy a leer el enlace ahora y a ver que sale.

Un saludo.

EDITO: Justo ese documento lo he encontrado mientras buscaba respuestas por google. :P
__________________
"El aprendizaje potencia la intuición"
Yo mismo, en un momento de inspiración. v2.0

Última edición por papulo fecha: 27-07-2007 a las 17:52:11.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Stored Procedures con Ado zcatzz SQL 3 05-05-2007 22:54:13
stored procedures Delphi 2005 .net y MySQL 5 martinsarubbi Conexión con bases de datos 2 17-04-2007 20:07:13
Stored Procedures, como trabajan? Carlos Hurtado Firebird e Interbase 7 29-12-2005 05:12:05
Dudas con Stored Procedures pigu SQL 1 05-10-2004 02:53:07
Como utilizar Stored Procedures en ADO Luis Castillo Conexión con bases de datos 2 31-10-2003 19:17:37


La franja horaria es GMT +2. Ahora son las 12:02:00.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi