Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Conexión a DB con Proc. Almacenados (https://www.clubdelphi.com/foros/showthread.php?t=7166)

crasv 06-02-2004 02:44:35

Conexión a DB con Proc. Almacenados
 
Hola a todos,

Necesito conectarme en InterBase a una segunda base de datos desde un procedimiento almacenado para realizar operaciones entre dos bases de datos pero no he podido hacerlo, la funcion CONNECT ‘C:\DATOS\DB2.GDB’ user ‘el_usuario’ password ‘la_contraseña’ no me funciona en el procedimiento almacenado y de verdad necesitando este tipo operación.

Agradezco de verdad la ayuda de alguien.

kinobi 06-02-2004 10:19:31

Hola,

lo dicho en este hilo: http://www.clubdelphi.com/foros/showthread.php?t=7004
sobre claves ajenas en dos bases de datos distintas, es válido para la conexión desde un procedimiento almacenado a una segunda base de datos. En resumen: no es posible, aunque en tu caso existe la posibilidad de hacerlo desde una UDF, pero abriendo otra sesión.

Saludos.

crasv 06-02-2004 16:24:20

Gracias por la informacion.

Aunque paresca no tener relacion, podrian ayudarme a saber como ejecutar un script desde un procedimiento almacenado en interbase ?

agradesco mucho la ayuda que puedan brindarme.

kinobi 06-02-2004 17:50:38

Cita:

Empezado por crasv
podrian ayudarme a saber como ejecutar un script desde un procedimiento almacenado en interbase ?

No entiendo. ¿Te refieres a ejecutar un script SQL externo al procedimiento, tal vez en un archivo? Si es así, la respuesta es nuevamente negativa, no es posible.

Saludos.

kinobi 06-02-2004 19:28:25

Hola de nuevo,

simplemente para añadir que, como en el caso anterior, no es posible ... directamente, pero sí a través de una UDF.

Saludos.

crasv 06-02-2004 20:43:01

Con UDF podre insertar,borrar y consultar informacion en dos bases de datos al mismo tiempo ?

Por favor podrias explicarme un poco como usar las UDF en estos casos, o si te resulta mas facil escribirme una direccion en donde hablen de ello.

Gracias nuevamente.

kinobi 06-02-2004 22:14:12

Hola,

Cita:

Empezado por crasv
Con UDF podre insertar,borrar y consultar informacion en dos bases de datos al mismo tiempo ?

Y a tres, a cuatro, a cinco, ...

Otra historia es que estés pensando en hacer consultas SQL sobre varias bases de datos en una misma sentencia; eso, como ya hemos comentado varias veces en el foro (consejo: haz uso del buscador del foro), no lo soporta el motor InterBase.

Cita:

Empezado por crasv
Por favor podrias explicarme un poco como usar las UDF en estos casos, o si te resulta mas facil escribirme una direccion en donde hablen de ello.

Es que no sé qué explicarte. Una UDF es una función (dentro de una biblioteca de carga dinámica: DLL en Windows, Shared Library en Unix/Linux), escrita en lenguaje que soporte llamadas al API InterBase (Delphi, C, C++, ...). Evidentemente, cómo hacer una inserción, modificación, borrado o consulta a una base de datos InterBase desde Delphi (o C, o C++, ...) es algo que tienes en la documentación y en cientos de los mensajes dentro de estos foros.

No intento enviarte a la documentación sin más, pero tú consulta es tan genérica, y por tanto fuera del alcance de estos foros, que no puedo responderte sin remitirte primero a allí y esperar a que plantees consultas más concretas.

Saludos.

crasv 15-02-2004 05:57:15

Hola Nuevamente.



Muchas gracias kinobi por tu ayuda y disculpen que insista tanto pero es que aun no he aclarado mi duda y necesito de ustedes, voy a ser mas detallado para ver si por favor pueden ayudarme:



acostumbro a realizar todo los procesos a nivel de base de datos, en interbase necesito conectarme desde un procedimiento almacenado de una DB (datos1.gdb) a una segunda DB (datos2.gdb). lo que necesito es consultar e insertar datos en la dos BD al mismo tiempo pero no deseo utilizar una herramienta diferente, deseo poder hacerlo desde un procedimiento almacenado en IB



Yo he trabajado con UDF ya definidas, conozco también la forma de instalarlas y de utilizar sus funciones, mi pregunta mas concreta es :



¿existe alguna función en una UDF ya creada(ejemp. ROUND() en rfunc.dll) que pueda usarla desde una BD(datos1.gdb) para hacer sesión en otra DB(datos2.gdb) e interactuar con las tablas de las dos BD al tiempo o me toca crear una dll con funciones y procedimientos personalizados por mi para hacer la sesión, enviar y recibir parámetros de una BD a otra ?

Agradesco mucho la ayuda de alguien.

Saludos.

kinobi 15-02-2004 09:04:08

Cita:

Empezado por crasv
¿existe alguna función en una UDF ya creada(ejemp. ROUND() en rfunc.dll) que pueda usarla desde una BD(datos1.gdb) para hacer sesión en otra DB(datos2.gdb) e interactuar con las tablas de las dos BD al tiempo o me toca crear una dll con funciones y procedimientos personalizados por mi para hacer la sesión, enviar y recibir parámetros de una BD a otra ?

Que yo sepa no, no existe una UDF así (eso no quiere decir que no exista).

guillotmarc 15-02-2004 19:00:16

Si quieres aprender más sobre la programación de UDFs, puedes consultar el código de esta UDF Open Source programada en Delphi.

http://sourceforge.net/projects/fireudflib/

Saludos.


La franja horaria es GMT +2. Ahora son las 22:54:43.

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