Crystal Report - Parametros de Conexion Crystal Reports

 
Vista:

Parametros de Conexion Crystal Reports

Publicado por Felix Flores (5 intervenciones) el 10/05/2010 19:14:52
Hola buen dia, a ver si me pueden ayudar, la situacion es la siguiente, tengo mi ambiente de desarrollo en mi maquina (SQL Express 2005, V.NET), pero cuando termino de hacer los reportes
funcionan muy bien en mi maquina, pero cuando los llevo a la aplicacion en produccion, que tiene el mismo nombre de la DB, diferente password, no corren, la solucion que tengo que hacer es; abro el proyecto y a cada reporte le tengo que crear una nueva conexion y decirle que ya no vea mi DB sino la de produccion.

Esto es asi?? como lo puedo solucionar de otra forma, ya le estoy pasando los parametros de conexion de las tablas por codigo, pero al reporte no le puedo decir que ahora vea en otro servidor la base de datos.

Se los agradeceria mucho las aportaciones.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Parametros de Conexion Crystal Reports

Publicado por Antonio (21 intervenciones) el 12/05/2010 16:02:23
En que lenguaje está la aplicación que abre los reportes?
La cadena de conexión se la puedes cambiar entera (bd, host, puerto, usuario, contraseña...)

Un saludo!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Parametros de Conexion Crystal Reports

Publicado por Felix Flores (5 intervenciones) el 12/05/2010 19:09:23
Buen dia y gracias por tomarte el tiempo para conetestar mi duda, si te decia, el reporte lo estoy mandando llamar desde VB.NET, realizo la integracion de los parametros de conexion para las tablas, pero cuando lo mando llamar si no es el servidor y la base de datos donde construi la aplicacion, me manda error, lo que hago es que abro los fuentes de los reportes y les doy un set Verify Data Base y les digo que ahora lean el servidor de produccion y la base de datos de produccion, ( el nombre de la base de datos es el mismo, solo cambia el servidor). Realizando esa operacion funciona perfectamente.
La idea es no tener que hacer esa operacion.

Saludos y de antemano gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Parametros de Conexion Crystal Reports

Publicado por Antonio (21 intervenciones) el 13/05/2010 11:02:30
Hola Felix

Te cuento... yo lo tengo implementado para MySQL 3.51, por lo que uso conexión de tipo RDO así que hice lo siguiente (después de mucho buscar... ) :

Añadi la referencia a "Microsoft Remote Data Object 2.0"

y luego en el código:

Dim Conexion As RDO.rdoConnection

'Esto ya lo tendrás...
Dim App1 As New CRAXDDRT.Application
Dim Report As New CRAXDDRT.Report

'Defino variables:
Dim servidor As String
Dim puerto As String
Dim database As String
Dim usuario As String
Dim pwd As String

Private Sub Command1_Click()
'En el click asigno valores (este es un ejemplo!) de los text del formulario
servidor = Text1.Text
puerto = Text2.Text
database = Text3.Text
usuario = Text4.Text
pwd = Text5.Text

'Asigno reporte...
Set Report = App1.OpenReport(App.Path & "\Ejemplos\ReportePrueba.rpt", 1)

'Establezco conexión
Set Conexion = rdoEngine.rdoEnvironments(0).OpenConnection("", rdDriverNoPrompt, True, "Driver={MySql ODBC 3.51 Driver};Server=" + servidor + ";Port=" + puerto + ";DataBase=" + database + ";Uid=" + usuario + ";Pwd=" + pwd)

'Esto también lo tendrás...
'Abrir reporte
CrystalActiveXReportViewer1.ReportSource = Report
CrystalActiveXReportViewer1.ViewReport

End Sub

No sé si es lo que buscas... si estás usando SQL Server creo también se puede hacer porque toda la información que buscaba era sobre SQL S...

Sí no encontraras nada dilo, a ver si podemos encontrarlo!

Un saludo, espero que te sirva algo...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Parametros de Conexion Crystal Reports

Publicado por Felix Flores (5 intervenciones) el 13/05/2010 17:59:36
Mira en lo que estoy desarrollando es en Visual Studio 2005 (Visual Basic .NET)con base de datos SQL Server 2005 pero igual aplica para SQL Server 2000 hasta donde tengo probado.
Seguido te muestro lo que tengo en el boton de la pantalla que emite un reporte, el reporte esta hecho en el VS-2500 osea cristal reports.

Private Sub btnReporte_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnReporte.Click
'' codigo nvo ffg 16-abr-2010
''
Dim orptprueba As New rptAlmacenExistencia
Dim oconexInfo As New ConnectionInfo
Dim olistatablas As Tables
Dim otabla As Table
Dim otablaconexinfo As TableLogOnInfo
'' instanciamos el objeto para guardar datos de conexion
oconexInfo.ServerName = xSrv
oconexInfo.DatabaseName = xDB
oconexInfo.UserID = xLog
oconexInfo.Password = xPass
'' instanciamos objeto de reporte
orptprueba = New rptAlmacenExistencia
'' obtenemos las tablas del reporte
olistatablas = orptprueba.Database.Tables
'' por cada tabla del reporte le anexamos el string de conexion
For Each otabla In olistatablas
'' obtenemos el objeto con los datos de la conexion
otablaconexinfo = otabla.LogOnInfo
'' asignamos el objeto con tados de conexion que hemos creado
otablaconexinfo.ConnectionInfo = oconexInfo
' aplicamos cambios de conexion de la tabla
otabla.ApplyLogOnInfo(otablaconexinfo)
Next
'' parametros
'' para pasar parametros
Dim pvValoresparametros As New ParameterValues()
Dim ParamFields As New ParameterFields()
Dim paramfield As New ParameterField()
Dim IDalmacenmov As New ParameterDiscreteValue()
Dim TipoOrigen As New ParameterDiscreteValue()
Dim Valuado As New ParameterDiscreteValue()

paramfield.Name = "@IdAlmacen"
If Me.chkTodos.Checked = True Then
IDalmacenmov.Value = "0"
Else
IDalmacenmov.Value = Me.cmbAlmOrigen.SelectedItem("IdAlmacen").ToString
End If
paramfield.CurrentValues.Add(IDalmacenmov)
ParamFields.Add(paramfield)

If Me.chkConsignacion.Checked = True Then
TipoOrigen.Value = "C"
Else
TipoOrigen.Value = "P"
End If
paramfield = New ParameterField()
paramfield.Name = "@TipoOrigen"
paramfield.CurrentValues.Add(TipoOrigen)
ParamFields.Add(paramfield)

Valuado.Value = "N"
paramfield = New ParameterField()
paramfield.Name = "@Valuado"
paramfield.CurrentValues.Add(Valuado)
ParamFields.Add(paramfield)
''
frmReporte.CrystalReportViewer1.ReportSource = orptprueba
frmReporte.CrystalReportViewer1.ParameterFieldInfo = ParamFields
'orptprueba.DataSourceConnections = (oconexInfo)
frmReporte.ShowDialog()
'' fin codigo nvo
''Me.limpia()
End Sub

Esto funciona siempre y cuando el reporte tenga el set Verify Database con la base de datos de produccion, esto significa que cuando esta en desarrollo y la quiero poner en produccion la aplicacion por cada reporte hago el Verify a cada reporte.. la idea es no tener que hacerlo...

Saludos y gracias de antemano, voy a probar el codigo que mandaste
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Parametros de Conexion Crystal Reports

Publicado por Felix Flores (5 intervenciones) el 13/05/2010 19:00:36
Hola buena tarde, oye estuve viendo el codigo.. pero mi pregunta es la siguente, si le pones todos los parametros a la conexion pero cuando la mandas llamar, en donde o que.??.. saludos

Dim Conexion As RDO.rdoConnection

'Esto ya lo tendrás...
Dim App1 As New CRAXDDRT.Application
Dim Report As New CRAXDDRT.Report

'Defino variables:
Dim servidor As String
Dim puerto As String
Dim database As String
Dim usuario As String
Dim pwd As String

Private Sub Command1_Click()
'En el click asigno valores (este es un ejemplo!) de los text del formulario
servidor = Text1.Text
puerto = Text2.Text
database = Text3.Text
usuario = Text4.Text
pwd = Text5.Text

'Asigno reporte...
Set Report = App1.OpenReport(App.Path & "\Ejemplos\ReportePrueba.rpt", 1)

'Establezco conexión
Set Conexion = rdoEngine.rdoEnvironments(0).OpenConnection("", rdDriverNoPrompt, True, "Driver={MySql ODBC 3.51 Driver};Server=" + servidor + ";Port=" + puerto + ";DataBase=" + database + ";Uid=" + usuario + ";Pwd=" + pwd)

'Esto también lo tendrás...
'Abrir reporte
CrystalActiveXReportViewer1.ReportSource = Report
CrystalActiveXReportViewer1.ViewReport

End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Parametros de Conexion Crystal Reports

Publicado por Antonio (21 intervenciones) el 14/05/2010 09:31:34
Oye, ando un poco liado... sí tengo algo de tiempo te intentaré contestar, sino este fin de semana te lo miro, vale?

Yo andaba buscando información de como cambiar la cadena de conexión en VB6 para CR con MySQL y encontré un montón de información de como cambiarla en VB2008 y C# para SQL... pero ni la guardé ni nada.

Sí fuese para MySQL te podría ayudar en VB6, VB2008 y C# pero siendo para SQL tendría que buscar algo.

En cuanto pueda te contesto.
Un saludo!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Parametros de Conexion Crystal Reports

Publicado por alex (1 intervención) el 19/10/2017 19:36:44
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Dim srtRpt As String
Dim fecha As String
Dim resp As Integer
 
On Error GoTo f_error
With Picture1(1)
    .Height = Me.Height - 750
    .Top = 100
    .Width = Screen.Width - Screen.Width * 0.03
    .Left = (Screen.Width * 0.02) / 2
End With
 
'    If printerselect = False Then
'        CrystalReport1.printerselect
'    End If
CrystalReport1.WindowShowPrintSetupBtn = True
CrystalReport1.WindowAllowDrillDown = True
CrystalReport1.WindowShowSearchBtn = True
CrystalReport1.WindowTop = 0
CrystalReport1.WindowLeft = 0
'CrystalReport1.ConnectionTimeout = 200
CrystalReport1.Connect = "DSN=" & DSN_Suc & "; uid=" & USU_SUC & "; pwd=" & PASS_SUC & "; dsq=" & BD_SUC & "; SERVER =" & ser_suc & " "
CrystalReport1.Destination = 0 ' pantalla
Parametros 'es una funcion que cree para enviarle parametros
CrystalReport1.WindowBorderStyle = crptNoBorder
CrystalReport1.WindowHeight = Picture1(1).ScaleHeight
CrystalReport1.WindowWidth = Picture1(1).ScaleWidth
CrystalReport1.WindowParentHandle = Picture1(1).hwnd
CrystalReport1.WindowShowRefreshBtn = True
 
CrystalReport1.Action = 1
CrystalReport1.PageZoom (100)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Parametros de Conexion Crystal Reports

Publicado por Martha (1 intervención) el 30/05/2019 01:21:07
Hola Alex,
Tengo un sistema en VB.net 2012 con sql server 2012, genero el instalador lo llevo a la pc del cliente y los formularios funcionan bien pero al abrir los reportes me pide usuario y contraseña, por lo que veo no lee los datos de la cadena de conexión del app.config, quiero probar el código que publicaste pero mi consulta es dónde y como cargas las variables que mencionas aquí :

CrystalReport1.Connect = "DSN=" & DSN_Suc & "; uid=" & USU_SUC & "; pwd=" & PASS_SUC & "; dsq=" & BD_SUC & "; SERVER =" & ser_suc & " "

Ojala me puedas ayudar, saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar