Hi.
I'm unable to change LogOnInfo properties at runtime. No error is showed, but data still pulled from the database used at design time.
I'm using CR 2013 for Visual Studio and Visual Studio 2012 (visual basic).
I read several articles, but still no success. Note 1553921(CodeBuilder-RasConnectionInfo (NET2010 CRVS2010).zip) is not working for me because I can't import "CrystalDecisions.ReportAppServer.DataDefModel" namespace.
Here is the code I use to change LogOnInfo.
Thanks in advance. Regards.
Damian.
Private Sub SetDBLogonForReport(ByVal p_s_Conexion As String)
Dim l_obj_ConnectionInfo As ConnectionInfo
Dim l_obj_LogOnInfo As TableLogOnInfo
Call RegistraEnArchivoLog("Ingresando", TraceEventType.Verbose, Me.Name, "SetDBLogonForReport")
MessageBox.Show(f_rd_Reporte.Database.Tables.Item(0).Name)
f_rd_Reporte.DataSourceConnections.Clear()
MessageBox.Show(f_rd_Reporte.Database.Tables.Item(0).Name)
l_obj_ConnectionInfo = New ConnectionInfo
l_obj_ConnectionInfo.ServerName = p_s_Conexion 'p_s_Conexion.Substring(4)
l_obj_ConnectionInfo.DatabaseName = ""
l_obj_ConnectionInfo.UserID = ""
l_obj_ConnectionInfo.Password = ""
l_obj_ConnectionInfo.Type = ConnectionInfoType.CRQE
l_obj_LogOnInfo = New TableLogOnInfo
l_obj_LogOnInfo.ConnectionInfo = l_obj_ConnectionInfo
For Each l_tab_Tabla As Table In f_rd_Reporte.Database.Tables
MessageBox.Show("Tabla: " & l_obj_LogOnInfo.TableName & " (" & l_tab_Tabla.Name & ")" & vbCrLf _
& "Servidor: " & l_obj_LogOnInfo.ConnectionInfo.ServerName & vbCrLf _
& "Database: " & l_obj_LogOnInfo.ConnectionInfo.DatabaseName & vbCrLf _
& "UserID: " & l_obj_LogOnInfo.ConnectionInfo.UserID & vbCrLf _
& "Password: " & l_obj_LogOnInfo.ConnectionInfo.Password)
'No estoy pudiendo limpiar la información de conexión que tiene el reporte en tiempo de diseño
'https://scn.sap.com/thread/3343137
'https://msdn.microsoft.com/en-us/library/ms227471(v=vs.80).aspx
'http://vb.net-informations.com/crystal-report/vb.net_crystal_report_load_dynamically.htm
l_tab_Tabla.LogOnInfo.ConnectionInfo.ServerName = ""
l_tab_Tabla.LogOnInfo.ConnectionInfo.DatabaseName = ""
l_tab_Tabla.LogOnInfo.ConnectionInfo.UserID = ""
l_tab_Tabla.LogOnInfo.ConnectionInfo.Password = ""
''''''''''''''''''''''''''''''''''''''''''''''''''''
l_tab_Tabla.LogOnInfo.ConnectionInfo = Nothing
''''''''''''''''''''''''''''''''''''''''''''''''''''
l_tab_Tabla.ApplyLogOnInfo(Nothing)
l_tab_Tabla.ApplyLogOnInfo(l_obj_LogOnInfo)
'l_tab_Tabla.Location = p_s_Conexion
MessageBox.Show("Tabla: " & l_tab_Tabla.LogOnInfo.TableName & " (" & l_tab_Tabla.Name & ")" & vbCrLf _
& "Servidor: " & l_tab_Tabla.LogOnInfo.ConnectionInfo.ServerName & vbCrLf _
& "Database: " & l_tab_Tabla.LogOnInfo.ConnectionInfo.DatabaseName & vbCrLf _
& "UserID: " & l_tab_Tabla.LogOnInfo.ConnectionInfo.UserID & vbCrLf _
& "Password: " & l_tab_Tabla.LogOnInfo.ConnectionInfo.Password)
Next
For Each subreporte As ReportDocument In f_rd_Reporte.Subreports
For Each l_tab_Tabla As Table In subreporte.Database.Tables
MessageBox.Show("Tabla: " & l_obj_LogOnInfo.TableName & " (" & l_tab_Tabla.Name & ")" & vbCrLf _
& "Servidor: " & l_obj_LogOnInfo.ConnectionInfo.ServerName & vbCrLf _
& "Database: " & l_obj_LogOnInfo.ConnectionInfo.DatabaseName & vbCrLf _
& "UserID: " & l_obj_LogOnInfo.ConnectionInfo.UserID & vbCrLf _
& "Password: " & l_obj_LogOnInfo.ConnectionInfo.Password)
'No estoy pudiendo limpiar la información de conexión que tiene el reporte en tiempo de diseño
'https://scn.sap.com/thread/3343137
'https://msdn.microsoft.com/en-us/library/ms227471(v=vs.80).aspx
'http://vb.net-informations.com/crystal-report/vb.net_crystal_report_load_dynamically.htm
l_tab_Tabla.LogOnInfo.ConnectionInfo.ServerName = ""
l_tab_Tabla.LogOnInfo.ConnectionInfo.DatabaseName = ""
l_tab_Tabla.LogOnInfo.ConnectionInfo.UserID = ""
l_tab_Tabla.LogOnInfo.ConnectionInfo.Password = ""
''''''''''''''''''''''''''''''''''''''''''''''''''''
l_tab_Tabla.LogOnInfo.ConnectionInfo = Nothing
''''''''''''''''''''''''''''''''''''''''''''''''''''
l_tab_Tabla.ApplyLogOnInfo(Nothing)
l_tab_Tabla.ApplyLogOnInfo(l_obj_LogOnInfo)
l_tab_Tabla.Location = p_s_Conexion
MessageBox.Show("Tabla: " & l_tab_Tabla.LogOnInfo.TableName & " (" & l_tab_Tabla.Name & ")" & vbCrLf _
& "Servidor: " & l_tab_Tabla.LogOnInfo.ConnectionInfo.ServerName & vbCrLf _
& "Database: " & l_tab_Tabla.LogOnInfo.ConnectionInfo.DatabaseName & vbCrLf _
& "UserID: " & l_tab_Tabla.LogOnInfo.ConnectionInfo.UserID & vbCrLf _
& "Password: " & l_tab_Tabla.LogOnInfo.ConnectionInfo.Password)
Next
Next
End Sub