Utilizar dos bases de datos

28/10/2003 - 18:37 por Pepe | Informe spam
Hola a todos y gracias de antemano.

Tengo la necesidad de utilizar en una aplicación otras tablas que están en
otra base de datos, estas bases pueden llamarse como desee quien utilice el
sistema, de igual forma debo utilizar procedimientos almacenados de esta
otra.

Es esto posible ?, Como ?

Preguntas similare

Leer las respuestas

#6 Norman A. Armas
29/10/2003 - 23:36 | Informe spam
para eso si las dos bases como dices estan en el mismo servidor lo unico que
tienes que hacer es hacer referencia al nombre de la base cuando te refieras
a la tabla

ejemplo:


use master
select * from northwind..categories
select * from pubs..authors




saludos

norman



"Pepe" wrote in message
news:%
Es posible que mi pregunta no esté bien elaborada, de todas formas


revisaré
los BOL nuevamente.

Tengo la necesidad de utilizar en una aplicación otras tablas que están en
otra base de datos, estas bases pueden llamarse como desee quien utilice


el
sistema, de igual forma debo utilizar procedimientos almacenados de esta
otra.

lo que tengo son dos aplicaciones en VB6, que utilizan 2 bases de datos
SQL, o sea cada una tiene su propia base de datos, el caso es que
indistintamente una u
otra aplicación, deben recoger información y en algunos casos guardar o
modificar datos de
la otra BD.

Las bases de datos están en un mismo servidor.

Es esto posible ?, Como ?



"Isaías" escribió en el mensaje
news:047701c39d87$b5326370$
> En sus BOL, busque el tema LINKED SERVER.


Respuesta Responder a este mensaje
#7 Pepe
30/10/2003 - 02:15 | Informe spam
Eso es correcto, pero es una aplicación que se distribuye y se crea con el
nombre que guste el usuario (La base de datos), por eso decia que no puedo
pasar el nombre de la base como valor desde un parámetro de la aplicación.

"Norman A. Armas" escribió en el mensaje
news:
para eso si las dos bases como dices estan en el mismo servidor lo unico


que
tienes que hacer es hacer referencia al nombre de la base cuando te


refieras
a la tabla

ejemplo:


use master
select * from northwind..categories
select * from pubs..authors




saludos

norman



"Pepe" wrote in message
news:%
> Es posible que mi pregunta no esté bien elaborada, de todas formas
revisaré
> los BOL nuevamente.
>
> Tengo la necesidad de utilizar en una aplicación otras tablas que están


en
> otra base de datos, estas bases pueden llamarse como desee quien utilice
el
> sistema, de igual forma debo utilizar procedimientos almacenados de esta
> otra.
>
> lo que tengo son dos aplicaciones en VB6, que utilizan 2 bases de datos
> SQL, o sea cada una tiene su propia base de datos, el caso es que
> indistintamente una u
> otra aplicación, deben recoger información y en algunos casos guardar o
> modificar datos de
> la otra BD.
>
> Las bases de datos están en un mismo servidor.
>
> Es esto posible ?, Como ?
>
>
>
> "Isaías" escribió en el mensaje
> news:047701c39d87$b5326370$
> > En sus BOL, busque el tema LINKED SERVER.
>
>


Respuesta Responder a este mensaje
#8 Javier Loria
30/10/2003 - 03:11 | Informe spam
Hola Pepe:
Si lo que quieres es que el usuario pueda configurar la aplicacion con
la BD que el quiera, con el procedimiento o tabla que el quiera, lo que
deseas se llama SQL Dinamico. En general hay algunas limitaciones y
problemas para usar SQL Dinamico y puedes revisarlo en el siguiente
hipervinculo:
http://www.algonet.se/~sommar/dynamic_sql.html
Si siempre decides que quieres hacerlo es mas o menos asi:
/* CODIGO PELIGROSO */
/* Precaucion: NO HAGA ESTO en CASA */
DECLARE @BD SYSNAME
DECLARE @Tabla SYSNAME

SET @BD='PUBS'
SET @Tabla='AUTHORS'

EXEC ('SELECT * FROM '+@BD+'.DBO.'+@Tabla)
/* Fin de Codigo */

Si pudieras resolver esto en la aplicacion y no en el SQL seria mejor.

Espero te sirva,


Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.

Pepe escribio:
Eso es correcto, pero es una aplicación que se distribuye y se crea
con el nombre que guste el usuario (La base de datos), por eso decia
que no puedo pasar el nombre de la base como valor desde un parámetro
de la aplicación.

"Norman A. Armas" escribió en el
mensaje news:
para eso si las dos bases como dices estan en el mismo servidor lo
unico que tienes que hacer es hacer referencia al nombre de la base
cuando te refieras a la tabla

ejemplo:


use master
select * from northwind..categories
select * from pubs..authors




saludos

norman



"Pepe" wrote in message
news:%
Es posible que mi pregunta no esté bien elaborada, de todas formas
revisaré los BOL nuevamente.

Tengo la necesidad de utilizar en una aplicación otras tablas que
están en otra base de datos, estas bases pueden llamarse como desee
quien utilice el sistema, de igual forma debo utilizar
procedimientos almacenados de esta otra.

lo que tengo son dos aplicaciones en VB6, que utilizan 2 bases de
datos SQL, o sea cada una tiene su propia base de datos, el caso es
que indistintamente una u
otra aplicación, deben recoger información y en algunos casos
guardar o modificar datos de
la otra BD.

Las bases de datos están en un mismo servidor.

Es esto posible ?, Como ?



"Isaías" escribió en el
mensaje news:047701c39d87$b5326370$
En sus BOL, busque el tema LINKED SERVER.
Respuesta Responder a este mensaje
#9 Pepe
30/10/2003 - 08:17 | Informe spam
Javier, esto realmente me ha dado mejor idea, pero el problema está en que
estas dos aplicaciones son independientes, pero que utilizan tablas y sp de
la otra, pues hay contabilizaciones que quedan registradas en la principal,
para el caso que se compre el paquete completo, no sucediendo así cuando
solo se compra un módulo, oséa, el cliente no es quien selecciona, sino el
valor que paso al sp desde la aplicación (suponiendo que se pueda), que es
quien selecciona los datos necesarios para la inserción del comprobante
hacia la contabilidad, por ejemplo:

Se corre nóminas como una aplicación y esta busca el catálogo de cuentas en
de la bd que pertenece a la otra aplicación y además guarda y registra
contablemente la operación de pago, por supuesto, y es donde me enrredo,
como paso el nombre de la BD como valor en una variable al SP.

No es mi interes que el usuario configure estas cosas, o al menos no tenga
que hacerlo.

Hay algo en español de SQL Dinamico ?, dime donde puedo encontrar eso si no
es mucho pedir y que tu crees al respecto, pues ya he tenido referencias muy
buenas y talvez sea mi única solución a este dilema.

"Javier Loria" escribió en el mensaje
news:
Hola Pepe:
Si lo que quieres es que el usuario pueda configurar la aplicacion con
la BD que el quiera, con el procedimiento o tabla que el quiera, lo que
deseas se llama SQL Dinamico. En general hay algunas limitaciones y
problemas para usar SQL Dinamico y puedes revisarlo en el siguiente
hipervinculo:
http://www.algonet.se/~sommar/dynamic_sql.html
Si siempre decides que quieres hacerlo es mas o menos asi:
/* CODIGO PELIGROSO */
/* Precaucion: NO HAGA ESTO en CASA */
DECLARE @BD SYSNAME
DECLARE @Tabla SYSNAME

SET @BD='PUBS'
SET @Tabla='AUTHORS'

EXEC ('SELECT * FROM '+@BD+'.DBO.'+@Tabla)
/* Fin de Codigo */

Si pudieras resolver esto en la aplicacion y no en el SQL seria mejor.

Espero te sirva,


Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.

Pepe escribio:
> Eso es correcto, pero es una aplicación que se distribuye y se crea
> con el nombre que guste el usuario (La base de datos), por eso decia
> que no puedo pasar el nombre de la base como valor desde un parámetro
> de la aplicación.
>
> "Norman A. Armas" escribió en el
> mensaje news:
>> para eso si las dos bases como dices estan en el mismo servidor lo
>> unico que tienes que hacer es hacer referencia al nombre de la base
>> cuando te refieras a la tabla
>>
>> ejemplo:
>>
>>
>> use master
>> select * from northwind..categories
>> select * from pubs..authors
>>
>>
>>
>>
>> saludos
>>
>> norman
>>
>>
>>
>> "Pepe" wrote in message
>> news:%
>>> Es posible que mi pregunta no esté bien elaborada, de todas formas
>>> revisaré los BOL nuevamente.
>>>
>>> Tengo la necesidad de utilizar en una aplicación otras tablas que
>>> están en otra base de datos, estas bases pueden llamarse como desee
>>> quien utilice el sistema, de igual forma debo utilizar
>>> procedimientos almacenados de esta otra.
>>>
>>> lo que tengo son dos aplicaciones en VB6, que utilizan 2 bases de
>>> datos SQL, o sea cada una tiene su propia base de datos, el caso es
>>> que indistintamente una u
>>> otra aplicación, deben recoger información y en algunos casos
>>> guardar o modificar datos de
>>> la otra BD.
>>>
>>> Las bases de datos están en un mismo servidor.
>>>
>>> Es esto posible ?, Como ?
>>>
>>>
>>>
>>> "Isaías" escribió en el
>>> mensaje news:047701c39d87$b5326370$
>>>> En sus BOL, busque el tema LINKED SERVER.


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida