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 Buscar Temas de Hoy Marcar Foros Como Leídos

Tema Cerrado
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-01-2004
Avatar de ArdiIIa
[ArdiIIa] ArdiIIa is offline
Miembro Premium
 
Registrado: nov 2003
Ubicación: Valencia city
Posts: 1.481
Poder: 22
ArdiIIa Va por buen camino
INTERBASE - UDF - Gran problema de configuración

Hola....

Tengo un asuntillo que me trae de cabeza...

en mi máquina ( XP / interbase 6) tengo una librería con diversas funciones UDF; esta librería está alojada en el directorio UDF y funciona perfectamente....

Ahora viene el problema...


Instalada la aplicación en otra máquina (XP / interbase 6), con la misma configuración, las funciones o la dll no es encontrada por interbase con los consiguientes errores.....

He cambiado en diversas ocasiones el parámetro

ARCHIVO IBCONFIG --->>> EXTERNAL_FUNCTION_DIRECTORY "c:\Tempxxxx"

aunque he podido comprobar que estos cambios no surten efecto alguno, a pesar de reinicializar interbase e incluso la máquina...... (para más seguridad)

También he comprobado en mi máquina, que si hago desaparecer mi dll o la renombro, la base de datos no funciona, por lo que tengo bastantes dudas de que ese parámetro (EXTERNAL_FUNCTION_DIRECTORY ), surta los efectos deseados....


en todo caso, el problema lo tengo con la máquina nueva donde he instalado el programa e interbase, que a pesar de haber metido la DLL en el directorio UDF de interbase, este no es localizado....


Lo único que se me ocurre, es que interbase no lo he instalado como "administrador" del XP, pues ya no se que combinaciones hacer para que funcione el invento.....


Que puedp hacer ???? Alguna sugerencia. please....

gracias por anticiado...



PD:-----> todo esto ya ha sido leído y releído..... --->>

http://www.clubdelphi.com/ib/articul...tion_directory
  #2  
Antiguo 14-01-2004
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 23
guillotmarc Va por buen camino
Hola

Te aseguro que ese parámetro funciona correctamente en Firebird 1. Así que imagino que en Interbase 6 también funcionará bien.

Yo lo suelo asignar con una ruta relativa, de esta forma funciona bien independientemente de la carpeta en que se haya hecho la instalación. (¿ Por cierto, has puesto el # ?)

#EXTERNAL_FUNCTION_DIRECTORY ".\UDF"

NOTA : Si estás utilizando Interbase 6 Open Edition, seguramente es una buena idea cambiar a Firebird 1.03 (muy probablemente no necesitaras hacer ningún cambio en la aplicación ni en la base de datos, otra cosa seria si quisieras utilizar Firebird 1.5).

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
  #3  
Antiguo 15-01-2004
Avatar de ArdiIIa
[ArdiIIa] ArdiIIa is offline
Miembro Premium
 
Registrado: nov 2003
Ubicación: Valencia city
Posts: 1.481
Poder: 22
ArdiIIa Va por buen camino
Firebird

Bueno, pues ahi queda la cuestión, lo cierto y verdad es que el problema persiste.
En cuanto a la cuestión Firebird; he estado tentado de probarlo en mas de una ocasión, pero no me he animado. Supungo que debe ser debido justamente a eso que mencionas, los posibles cambios que hubiera que realizar a nivel de bases de datos y componentes. De momento me voy apañando con los IBX, (mi trabajo me costó)..... Tal vez algún día me decida... Gracias
  #4  
Antiguo 15-01-2004
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 23
guillotmarc Va por buen camino
Hola.

Si te decides a probar Firebird, con la versión 1.03 no tendrás ningún problema. Es practicamente un clón de Interbase 6 Open Edition, y solo se le han añadido la corrección de numerosos bugs y unas pocas mejoras (modificadores como SELECT FIRST, etc. ...).

La unica incompatibilidad de la que tengo constancia, es que Firebird 1.03 no acepta determinadas consultas aceptadas por Interbase 6, por considerarlas ambiguas. Pero es francamente dificil encontrarse esta situación, y se solventa indicando los campos que provocan el problema, con su alias : TABLA.CAMPO. Lo más probable es que tu aplicación funcione perfectamente sin tener que realizar ningún cambio en la aplicación ni en la base de datos.

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
  #5  
Antiguo 06-02-2004
Avatar de ArdiIIa
[ArdiIIa] ArdiIIa is offline
Miembro Premium
 
Registrado: nov 2003
Ubicación: Valencia city
Posts: 1.481
Poder: 22
ArdiIIa Va por buen camino
siguen los problemas....

Finalmente, me he decidido a probar FIREBIRD, y bien, bastante bien.

La cuestión es que me llevo la DLL al directorio UDF de Firebird y persisten los problemas, siempre en servidores XP, menos en mi máquina que también es XP y tira de maravilla y no da problemas con la citada DLL.

Estoy seguro que algo se me escapa, pero no se que es...

Siguo a la espera de ideas... Gracias
  #6  
Antiguo 06-02-2004
Gydba Gydba is offline
Miembro
 
Registrado: ene 2004
Ubicación: Argentina
Posts: 673
Poder: 21
Gydba Va por buen camino
Es muy raro, yo manejo winxp contra firebird 1.5 rc7 y nunca tuve problemas, lo que puede ser es alguna conf. de windows.

Debo aclarar que lo probé en XP versión desktop y en el SP1 profesional.
__________________
Suerte
.: Gydba :.
  #7  
Antiguo 06-02-2004
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 23
guillotmarc Va por buen camino
Hola.

Tienes que verificar dos cosas :
  • Verifica el archivo ibconfig o firebird.conf (depende de la versión de Firebird que uses), en los otros servidores tiene que haber la entrada EXTERNAL_FUNCTION_DIRECTORY (o UdfAccess en FB 1.5), igual a la que está en tu Ordenador (el que funciona).
  • En la base de datos en la que vayas a utilizar la UDF, tienes que declarar la función que vayas a usar. Normalmente se hace con un Script que se proporciona junto al archivo .dll
¿ Que Firebird utilizas ? ¿ Firebird 1.03 o Firebird 1.5 RC8 ?

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
  #8  
Antiguo 07-02-2004
Avatar de ArdiIIa
[ArdiIIa] ArdiIIa is offline
Miembro Premium
 
Registrado: nov 2003
Ubicación: Valencia city
Posts: 1.481
Poder: 22
ArdiIIa Va por buen camino
Y .... Seguirmos..... con las UDF

He instalado la versión "1.5.0.4201" Firebird 1.5 Release Candidate....
La cuestión es que tengo entendido que tras poner la DLL en el directorio UDF de Firebird (o Interbase en su caso), no hace falta parametrizar el fichero de configuración, a no ser que dicha DLL estuviera en otro directorio diferente al mencionado (UDF).
Lo que me trae de cabeza, es que la DLL funciona perfectamente en mi máquina con XP, y lo llevo a otras máquinas XP y no funciona, sin embargo, si pongo como servidor una máquina windows 9.... no me dá problemas tampoco.... Vamos, que todo esto es muy extraño....

Gracias
  #9  
Antiguo 09-02-2004
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 23
guillotmarc Va por buen camino
Hola.

Cita:
La cuestión es que tengo entendido que tras poner la DLL en el directorio UDF de Firebird (o Interbase en su caso), no hace falta parametrizar el fichero de configuración, a no ser que dicha DLL estuviera en otro directorio diferente al mencionado (UDF).
No utilizo habitualmente UDFs, solo en un caso me ha sido necesario, y te puedo confirmar que en Firebird 1 aunque pusieras la Dll en su directorio por defecto, no era suficiente, hay que parametrizar el archivo de configuración de Firebird.

Quizá en Firebird 1.5 ha cambiado, y no hace falta. No lo sé.

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
  #10  
Antiguo 09-02-2004
Avatar de ArdiIIa
[ArdiIIa] ArdiIIa is offline
Miembro Premium
 
Registrado: nov 2003
Ubicación: Valencia city
Posts: 1.481
Poder: 22
ArdiIIa Va por buen camino
Udf Problem

Bueno: Hata ahora venía obteniendo el siguiente error:
"Invalid request BLR at offset 1017
function XXXXXXX is not defined
module name or entrypoint could not be found
"

Tras haber parametrizado FIREBIRD cambiando el parámetro:

UdfAccess C:\Firebird\UDF

parece que algo ha cambiando, si que encuentra la DLL sin embargo ahora recibo este error:

Access to UDF library "UDF.DLL" is denied by server administrator

Que ocurre ahora ?

Gracias

Última edición por ArdiIIa fecha: 09-02-2004 a las 14:52:13.
  #11  
Antiguo 10-04-2004
Gydba Gydba is offline
Miembro
 
Registrado: ene 2004
Ubicación: Argentina
Posts: 673
Poder: 21
Gydba Va por buen camino
Buenas, buenas

SI, realmente el error es bastante extraño, (si señores lo pude reproducir).

Lo bueno es que lo pude solucionar, te cuento como hize:

Lo primero que me tiro fué:

"Invalid request BLR at offset 72
function [nombre_funcion] is not defined
module name or entrypoint could not be found"
Luego logré avanzar un poco y llegar a:

Access to UDF library "nombreudf.dll" is denied by server administrator
Lo que me resulto bastante extraño considerando los privilegios que tengo en este winXP professional.

Pero llendo al punto, el problema se estaba dando porque tenía conviviendo diferentes versiones de FB en mi pc por lo cual supongo que debía existir algún problema con la security.fdb.

Desinstale absolutamente todas las versiones, corrí un RegCleaner por si las moscas e instale la versión 1.5 de firebird (mas concretamente Firebird-1.5.0.4290-Win32.exe)

Una vez hecho esto copié mi UDF a la carpeta \Firebird\Udf\ y sin cambiar las configuraciones: colorín colorado mi UDF a funcionado

No se si te pueda ayudar de algo estos comentarios, pero realmente es algo bastante fuera de lo común pero por suerte lo pude solucionar.
__________________
Suerte
.: Gydba :.
  #12  
Antiguo 14-04-2004
Avatar de ArdiIIa
[ArdiIIa] ArdiIIa is offline
Miembro Premium
 
Registrado: nov 2003
Ubicación: Valencia city
Posts: 1.481
Poder: 22
ArdiIIa Va por buen camino
Re

Bueno, pues LA SOLUCION FINAL pasa por poner estos parámetros en el fichero de configuración

UdfAccess = Restrict D:\Borland\udf

la clausula Restrict es la que manda


Saludos
  #13  
Antiguo 14-04-2004
Gydba Gydba is offline
Miembro
 
Registrado: ene 2004
Ubicación: Argentina
Posts: 673
Poder: 21
Gydba Va por buen camino
De hecho yo lo hice tal cual te dije y me funcionó 10 puntos sin cambiar el archivo de configuración.

Pero si a vos te funciona así, para que vamos a buscarle la cola al mono ...
__________________
Suerte
.: Gydba :.
  #14  
Antiguo 20-08-2004
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 29
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Smile Lo mismo pero más extraño aún. ¿Será un bug de Firebird?

¡Buen día a todos!

Espero no sea muy tarde para revivir este tema.

Les comento:

Hace varios meses instalé las FreeUDB (FreeUDFLib.dll) en una PC con Windows XP que hacía de servidor Firebird 1.5. Ejecuté el script que me agregó todas sus funciones a una de mis bases de datos. Pero no pude ejecutar ninguna función porque me generaba el mismo error que a ArdiIIa. En aquel entonces no hice nada más por encontrar la solución, ya que apenas comenzaba a conocer Firebird y no quería meterme aún en temas tan avanzados .

Pues bien, ahora que ya conozco un poquitín más de Firebird , me sucede lo siguiente: Con las bases de datos más recientes que he creado, las FreeUDF trabajan sin ningún problema. Sólo tuve que correr el script ext_funcs.sql y poner el DLL en el subdirectorio UDF del servidor Firebird.

Sin embargo, con aquella antigua base de datos que se quedó con las UDF insertadas y que nunca pude usar, todavía me es imposible llamar a una de las funciones de FreeUDF.

Me temo que aquella primera base de datos se guardó mal, quizás sea un defecto (bug) de Firebird, porque con las nuevas bases de datos que he creado no he tenido problemas para usar la biblioteca FreeUDF.

¿Podría alguien ayudarme con este extraño caso?

Gracias.

Al González .
  #15  
Antiguo 20-08-2004
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 29
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Smile Problema resuelto

¡Buen día a todos!

Bien, parece ser que la solución al problema
Cita:
Empezado por ArdiIIa
"Invalid request BLR at offset 1017
function XXXXXXX is not defined
module name or entrypoint could not be found
"
, cuando se haya copiado la DLL correspondiente al directorio UDF de Firebird, cuando con alguna base de datos si funcione la biblioteca y con otras no, y aún cuando las conexiones de éstas últimas se cierren y vuelvan a abrir sin resultados efectivos, la solución es:

Reiniciar la máquina servidor de Firebird.

Ayer me fui de la oficina con una gran duda, y hoy por la mañana me encontré con que todo funcionaba de maravilla (gracias a que alguien apagó el servidor) jeje . No cabe duda que el método del reseteo sigue siendo muy valioso, hasta en situaciones donde la "lógica" de Windows descarte pensar en ello.

Un abrazo.

Al González .
  #16  
Antiguo 23-08-2004
Gydba Gydba is offline
Miembro
 
Registrado: ene 2004
Ubicación: Argentina
Posts: 673
Poder: 21
Gydba Va por buen camino
Buenas y santas!

Haaaa, el buen reseteo. Creo que si tenemos que hacer un recorrido por los foros, listas y demás que tiene Micro$oft sobre bugs y esas yerbas la palabra "Resetear" debe ser la más difundida entre sus supuestas soluciones

Y no es que Window$ sea malo, nooooooo , lo hacen solo para demostrarle al usuario lo aburrida que es la vida con un server Linux

Por cierto: por favor Bill, tu que eres todo poderoso e iluminas el camino de nuestros tan ciegos clientes no me resetees la PC por este comentario inútil y sarcástico!!!!!

Saludos!
__________________
Suerte
.: Gydba :.
  #17  
Antiguo 03-09-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
Cool

Hola. Esta pregunta ya la pusiste aqui

Te recomiendo una lectura de la guia de estilo, pues está desaconsejado publicar la misma pregunta en mas de un hilo.

Además, te recomiendo que aprendas a usar las etiquetas [delphi], [code] y similares para publicar trozos de código, (como el de la dll). Mas información en el mensaje que está al principio de este foro.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
  #18  
Antiguo 24-12-2004
Avatar de ArdiIIa
[ArdiIIa] ArdiIIa is offline
Miembro Premium
 
Registrado: nov 2003
Ubicación: Valencia city
Posts: 1.481
Poder: 22
ArdiIIa Va por buen camino
Por fin... NADA DE NADA

Finalmente y después de muchas pruebas, prescindí de las UDF....
En estos asuntos, no se puede dejar al azar intervenir; y eso es justamente más o menos lo que me ocurría. Es decir, en unas máquinas si funciona y en otras no... gggg "demasiado descontrol para mi cuerpo"...

Saludos y FELIZ NAVIDAD !!
Tema Cerrado


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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


La franja horaria es GMT +2. Ahora son las 15:18:57.


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