![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
![]() Hola a tod@s, de repente me encuentro que ninguna udf me funciona al probar FB 2.5.
¿qué tengo mal aquí?
La librería bien compilada en la carpeta UDF de firebird. Si creo una función sin parámetros de entrada va bien, pero en el momento que le pongo un parámetro de entrada (y he probado de todo tipo y varias maneras) no le gusta a firebird. gracias de antemano |
#2
|
||||
|
||||
Hola.
Ni idea sobre lo que te está fallando. Aunque para darte una alternativa, yo no utilizo UDF's, todas mis funciones las programo en procedimientos almacenados. Por ejplo.
Ahora si quieres utilizar esta función en una consulta cualquiera, la puedes llamar como una subconsulta. Es decir:
Gestionar tus funciones en procedimientos almacenados es más sencillo que hacerlo en librerías externas (es más sencillo hacer una instalación nueva, una restauración de un sistema, etc. ...). Y muy complejo tiene que ser el problema para que no lo puedas programar en T-SQL. Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). |
#3
|
|||
|
|||
Hola y gracias por la respuesta.
En lo posible uso procedimientos almacenados pero hay una serie de funciones en las que no me quedó otra (algunas de ellas por diversas circunstancias). Estoy sobre un XP profesional SP3, ¿tiene algo que ver?, ¿hace falta alguna librería nueva para el fb2.5 (Microsoft.VC80.CRT.manifest, vccrt8_Win32.msi)? |
#4
|
||||
|
||||
Cuál es el error que te da?
- Error de permisos. - Error de ejecución. - No encuentra la UDF - ... |
#5
|
|||
|
|||
Hola, ¡qué fallo!, no le gusta a firebird da pocas pistas ¿verdad?
Desde una consulta me dice esto: Unsuccessful execution caused by a system error that precludes successful execution of subsequent statements. Error writing data to the connection. Desde la aplicación con IBO me dice esto: Fallo al abrir "Tabla". Objeto: tbTabla SELECT ALL Tabla.* FROM Tabla ISC ERROR CODE:335544741 ISC ERROR MESSAGE: connection lost to database |
#6
|
|||
|
|||
¡¡¡ Al fin !!!
Por lo visto FB 2.5 se ha vuelto más limpio y no le gusta "stdcall", las udf deben ser declaradas con "cdecl". Opté por stdcall por esto: "On Windows, the operating system APIs are stdcall and safecall. (Note that stdcall is more efficient than cdecl)." Saludos |
#7
|
||||
|
||||
Tengo entendido que con cdecl quien llama a la función es el encargado de "limpiar" la pila recogiendo los parámetros utilizados, en cambio, con stdcall el encargado de esta tarea es la propia función llamada.
Visto de esta forma, a mí me parece mejor cdecl.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#8
|
|||
|
|||
Por eso decía que es más limpio, o lo limpia él o desconecta el servidor (con dos c******).
Saludos. |
#9
|
||||
|
||||
Resp
Prueba cambiando stdcall por cdel. Esto se usa par ver como son pasado los parametros lle hacer de esto para que puedas enteneder cual clausula debes usar.
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa. |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Firebird 1.5.4 funciona en Win Vista pero Firebird 2.0.1 NO !!! | Hagen | Firebird e Interbase | 5 | 19-05-2007 21:17:54 |
Firebird 1.5.3 Error:No puede ejecutarse Firebird Guardian xq ya hay una instancia | Delphius | Firebird e Interbase | 5 | 26-01-2007 10:19:20 |
alguien ha utilizado Firebird DDX provider? (conectarse con db en firebird!) | JuanErasmo | .NET | 1 | 04-11-2006 16:17:12 |
Firebird : Llamado para probadores de Firebird 2.0 | JOSEPE | Firebird e Interbase | 0 | 12-03-2005 20:33:18 |
Problemas Firebird Super Server 1.5 con RFunc Firebird v 1.0 | Prophoenix | Firebird e Interbase | 1 | 09-03-2004 11:40:48 |
![]() |
|