Hay developers
In Visual studio 2005 in Crystal Report Editor you can find "Set datasource location...". There you can change everything (mapping, datasource, even
dataprovider). So far so good, but if you want to change DATAPROVIDER runtime (in code) you have big problem. You can change datasource to other database on the same platform, but you cannot change ORACLE to SQL database ??
It seems that changing DATABASENAME doesn't do anything. This is understandable because ORACLE (i design report originaly for ORACLE) does't have database name, you just specified SERVERNAME, USERID and PASSWORD.
So I think the problem lies in fact that you cannot change PROVIDER runtime??
So basicaly I'm able to change provider from ORACLE to SQL in IDE with no problem but not on runtime
I try allmost everything and nothing works form me (see example below).
BTW I'm IT pro and I know what I'm doing, so don't answer to my question like "do you have SQL started" or "is your password writen correct"
no ofense
If you have hundrets of report you cannot do this thru IDE.
Please help
Best regards Jerry
Public Sub sub_ApplyInfo1(ByRef _oRpt As CrystalDecisions.CrystalReports.Engine.ReportDocument, _
ByVal _dbName As String, _
ByVal _serverName As String, _
ByVal _userID As String, _
ByVal _passWord As String, Optional ByVal _IntegratedSecurity As Boolean = False)
Dim oCRDb As CrystalDecisions.CrystalReports.Engine.Database = _oRpt.Database
Dim oCRTables As CrystalDecisions.CrystalReports.Engine.Tables = oCRDb.Tables
Dim oCRTableLogonInfo As CrystalDecisions.Shared.TableLogOnInfo
Dim oCRConnectionInfo As CrystalDecisions.Shared.ConnectionInfo = New CrystalDecisions.Shared.ConnectionInfo
oCRConnectionInfo.IntegratedSecurity = _IntegratedSecurity
oCRConnectionInfo.Type = ConnectionInfoType.CRQE
oCRConnectionInfo.ServerName = _serverName
If _dbName <> "" Then
oCRConnectionInfo.DatabaseName = _dbName
End If
If _userID <> "" Then
oCRConnectionInfo.UserID = _userID
End If
If _passWord <> "" Then
oCRConnectionInfo.Password = _passWord
End If
For Each oCRTable As CrystalDecisions.CrystalReports.Engine.Table In oCRTables
oCRTableLogonInfo = oCRTable.LogOnInfo
oCRTableLogonInfo.ConnectionInfo = oCRConnectionInfo
oCRTable.ApplyLogOnInfo(oCRTableLogonInfo)
'Dim lcLocation As String = oCRConnectionInfo.DatabaseName & ".dbo." & oCRTable.Location
Next
'Dim cry_logOnInfo As New CrystalDecisions.Shared.TableLogOnInfo
''Me.sub_ApplyInfo(oRpt, "FIN", "MYPC\SQLEXPRESS", "", "", True)
'cry_logOnInfo.ConnectionInfo.ServerName = "MYPC\SQLEXPRESS"
'cry_logOnInfo.ConnectionInfo.DatabaseName = "FIN"
'cry_logOnInfo.ConnectionInfo.UserID = ""
'cry_logOnInfo.ConnectionInfo.Password = ""
'cry_logOnInfo.ConnectionInfo.IntegratedSecurity = True
'Dim oTable As CrystalDecisions.CrystalReports.Engine.Table
'For Each oTable In _oRpt.Database.Tables
' oTable.ApplyLogOnInfo(cry_logOnInfo)
'Next
End Sub