Foros del Web » Programación para mayores de 30 ;) » .NET »

crystal report + conexion a 2 bases de datos

Estas en el tema de crystal report + conexion a 2 bases de datos en el foro de .NET en Foros del Web. Hola amigos, una pequeña consultita, estoy utilizando el crystal reports y ahi yo utilizo informacion de 2 bases de datos diferentes, me sale bien cunado ...
  #1 (permalink)  
Antiguo 22/06/2004, 08:43
 
Fecha de Ingreso: enero-2004
Ubicación: iquitos
Mensajes: 164
Antigüedad: 20 años, 10 meses
Puntos: 0
Mensaje crystal report + conexion a 2 bases de datos

Hola amigos, una pequeña consultita, estoy utilizando el crystal reports y ahi yo utilizo informacion de 2 bases de datos diferentes, me sale bien cunado trabajo con una base de datos, pero como hago para que en ese mismo reprote me jale informacion de ambas base de datos
gracias
__________________
javier
  #2 (permalink)  
Antiguo 22/06/2004, 09:20
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 9 meses
Puntos: 50
Hola..

Se me ocurren 2 cosas..

1.- Crear 2 cadenas de conexion.., e ir accesando a la info que necesitas y para que todo quede en el mismo puedes apoyarte de un dataset.

2.- Si estás usando MSSQL puedes hacer uso de OPENROWSET para accesar desde un server a la info de otro server.

Ejemplo con el query analyser (usando la BD pubs de SQL Server)

USE pubs
GO
SELECT a.*
FROM OPENROWSET('SQLOLEDB','server=NombreServer;uid=User;pwd=pass word',
'SELECT * FROM pubs.dbo.authors ORDER BY au_lname, au_fname') AS a

GO


3.- Si tienes en el mismo server las 2 BD que necesitas y los campos que deseas mostrar son del mismo tipo puedes hacer una UNION.

Ejemplo.

Cita:
SELECT A.* FROM
(SELECT * FROM BD1.dbo.authors ORDER BY au_id1 asc) A
UNION
SELECT B.* FROM
(SELECT * FROM BD2.dbo.authors ORDER BY au_id2 desc) B
Recuerda que si utilizas el order by tienes que hacer uso de subqueries como en el ejemplo anterior

Salu2 y espero te haya dado una idea
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #3 (permalink)  
Antiguo 22/06/2004, 09:20
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 9 meses
Puntos: 50
Cita:
Se me ocurren 2 cosas..
Mas bien fueron 3... jeje
  #4 (permalink)  
Antiguo 22/06/2004, 14:11
 
Fecha de Ingreso: enero-2004
Ubicación: iquitos
Mensajes: 164
Antigüedad: 20 años, 10 meses
Puntos: 0
EN EL SQL ME SALE UN ERROR MI SINTAXSI ES COMO SIGUE:

SELECT u.DNI,
u.Nombre,
u.Ape_P,
Contrato = ISNULL(u.contrato,''),
d.id_den,
d.Fecha_reg,
d.Fecha_fin,
d.Comen_den,
dir.Nombre, dir.Referencia, dir.Distrito, dir.d_via, dir.Zona, dir.Sed, dir.Codigovia,
r.Id_trab,
td.Id_Def,td.Descripcion,
dat.id_sub,
Fecha_sup = ISNULL(CONVERT(VARCHAR(12),dat.fech_sup),'') ,
Hora = ISNULL(dat.hora,''),
Observacion= ISNULL(dat.observacion,''),
Supervisor = ISNULL(( SELECT Nombre + ' ' + Ape_p
FROM TBLPERSONAL
WHERE Id_per = dat.id_per
),
''),
Tecnico = ISNULL(( SELECT Nombre + ' ' + Ape_p
FROM TBLPERSONAL
WHERE Id_per = dat.id_Serv
),
''),
Trabajo = ISNULL(( SELECT descripcion
FROM TBLACTIVIDAD
WHERE id_act = dat.id_act
),
''),
TODO = (SELECT a.* FROM OPENROWSET('SQLOLEDB','SERVER=SRVSQL;UID=SUPER;PWD =PWD,'EXEC ENERGIQT.DBO.OBTENER_DATOS 100600443') AS a)
FROM TblUsuario AS u INNER JOIN TblUserden AS ud ON u.dni = ud.dni INNER JOIN
Tbldenuncia AS d ON d.Id_Den=ud.Id_Den INNER JOIN
TblUbDen AS dir ON d.id_den=dir.id_den INNER JOIN
TblRegistrar AS r ON r.id_den = d.id_den INNER JOIN
TblTipoDeficiencia AS td ON td.id_def = d.id_def INNER JOIN
tblatencion AS dat ON dat.id_den = d.id_den
WHERE d.Id_Den = 'EOR0402012'

ESTE ES EL TIPO DE CONSULTA QUE HAGO PERO ME SALE UN ERROR
Sólo se puede especificar una expresión en la lista de selección cuando la subconsulta no se especifica con EXISTS.
__________________
javier
  #5 (permalink)  
Antiguo 22/06/2004, 23:00
 
Fecha de Ingreso: enero-2004
Mensajes: 77
Antigüedad: 20 años, 10 meses
Puntos: 0
una pregunta soy principiante en crystal

Como hago para imprimir la pagina horizontal estoy trabajndo en asp.net
  #6 (permalink)  
Antiguo 08/10/2008, 14:59
 
Fecha de Ingreso: mayo-2008
Mensajes: 11
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: crystal report + conexion a 2 bases de datos

Cita:
Iniciado por alexander21rr Ver Mensaje
EN EL SQL ME SALE UN ERROR MI SINTAXSI ES COMO SIGUE:

SELECT u.DNI,
u.Nombre,
u.Ape_P,
Contrato = ISNULL(u.contrato,''),
d.id_den,
d.Fecha_reg,
d.Fecha_fin,
d.Comen_den,
dir.Nombre, dir.Referencia, dir.Distrito, dir.d_via, dir.Zona, dir.Sed, dir.Codigovia,
r.Id_trab,
td.Id_Def,td.Descripcion,
dat.id_sub,
Fecha_sup = ISNULL(CONVERT(VARCHAR(12),dat.fech_sup),'') ,
Hora = ISNULL(dat.hora,''),
Observacion= ISNULL(dat.observacion,''),
Supervisor = ISNULL(( SELECT Nombre + ' ' + Ape_p
FROM TBLPERSONAL
WHERE Id_per = dat.id_per
),
''),
Tecnico = ISNULL(( SELECT Nombre + ' ' + Ape_p
FROM TBLPERSONAL
WHERE Id_per = dat.id_Serv
),
''),
Trabajo = ISNULL(( SELECT descripcion
FROM TBLACTIVIDAD
WHERE id_act = dat.id_act
),
''),
TODO = (SELECT a.* FROM OPENROWSET('SQLOLEDB','SERVER=SRVSQL;UID=SUPER;PWD =PWD,'EXEC ENERGIQT.DBO.OBTENER_DATOS 100600443') AS a)
FROM TblUsuario AS u INNER JOIN TblUserden AS ud ON u.dni = ud.dni INNER JOIN
Tbldenuncia AS d ON d.Id_Den=ud.Id_Den INNER JOIN
TblUbDen AS dir ON d.id_den=dir.id_den INNER JOIN
TblRegistrar AS r ON r.id_den = d.id_den INNER JOIN
TblTipoDeficiencia AS td ON td.id_def = d.id_def INNER JOIN
tblatencion AS dat ON dat.id_den = d.id_den
WHERE d.Id_Den = 'EOR0402012'

ESTE ES EL TIPO DE CONSULTA QUE HAGO PERO ME SALE UN ERROR
Sólo se puede especificar una expresión en la lista de selección cuando la subconsulta no se especifica con EXISTS.

Hola, estaba buscando ayuda para un error que me tiraba el sql y encontré la misma pregunta en este foro.

El error que me tira es:

Sólo se puede especificar una expresión en la lista de selección cuando la subconsulta no se especifica con EXISTS.

Me fijé y lo que yo estaba haciendo mal y veo que quién escribió lo de arriba también es:

SET @FECH = (SELECT * FROM FILTER_FIXED_DET WHERE ID_USER=1)

Y con lo siguiente se arregla:

SET @FECH = (SELECT FECH_DESDE FROM FILTER_FIXED_DET WHERE ID_USER=1)


El problema es que no podemos poner * en una subconsulta porque el sql no sabe qué campo queremos que tome.

Ya se que la consulta es vieja (del 2004) pero envío esto para que si a otro le pase sepa como arreglarlo.

Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:14.