Hi My doubt is quiet simple.
For my Custom Reports (Version : Crystal Report XI ), i am using ODBC Connectivity (Exactly I am using File DSN, Since I don't want to enter password again and again).
File DSN settings:
[ODBC]
DRIVER=Progress OpenEdge 10.1B driver
UID=deivaa
Host=localhost
Port=3500
DB=eInteg
Here everything is working fine.
Now I am using OpenEdge 10.1C, So that File DSN settings (Default) is
[ODBC]
DRIVER=Progress OpenEdge 10.1C Driver
ValidateServerCertificate=1
EncryptionMethod=0
DefaultLongDataBuffLen=2048
ArraySize=50
DefaultIsolationLevel=READ COMMITTED
EnableTimestampWithTimezone=1
UseWideCharacterTypes=0
StaticCursorLongColBuffLen=4096
LogonID=deivaa
DatabaseName=eInteg
PortNumber=3500
HostName=localhost
Description=BDCIntegFile
Actually I don't want to edit File DSN settings,
That's why I made some customizations in my VB Code.
If GetFromINI(vFileDSNPath, "ODBC", "LogonID") <> "" Then
vLogonID = GetFromINI(vFileDSNPath, "ODBC", "LogonID")
ElseIf GetFromINI(vFileDSNPath, "ODBC", "UID") <> "" Then
vLogonID = GetFromINI(vFileDSNPath, "ODBC", "UID")
End If
If GetFromINI(vFileDSNPath, "ODBC", "PWD") <> "" Then
vPwd = GetFromINI(vFileDSNPath, "ODBC", "PWD")
ElseIf GetFromINI(vFileDSNPath, "ODBC", "Password") <> "" Then
vPwd = GetFromINI(vFileDSNPath, "ODBC", "Password")
End If
If GetFromINI(vFileDSNPath, "ODBC", "HOST") <> "" Then
vHostName = GetFromINI(vFileDSNPath, "ODBC", "HOST")
ElseIf GetFromINI(vFileDSNPath, "ODBC", "HostName") <> "" Then
vHostName = GetFromINI(vFileDSNPath, "ODBC", "HostName")
End If
If GetFromINI(vFileDSNPath, "ODBC", "PORT") <> "" Then
vPortNumber = GetFromINI(vFileDSNPath, "ODBC", "PORT")
ElseIf GetFromINI(vFileDSNPath, "ODBC", "PortNumber") <> "" Then
vPortNumber = GetFromINI(vFileDSNPath, "ODBC", "PortNumber")
End If
If GetFromINI(vFileDSNPath, "ODBC", "DB") <> "" Then
vDBName = GetFromINI(vFileDSNPath, "ODBC", "DB")
ElseIf GetFromINI(vFileDSNPath, "ODBC", "DatabaseName") <> "" Then
vDBName = GetFromINI(vFileDSNPath, "ODBC", "DatabaseName")
End If
The above code returns exact values like LogonID,pwd,host and port no issues.
The below code dynamically makes available Database information to my custom report
Private Sub SetDBLogonForReport(ByVal myConnectionInfo As ConnectionInfo, ByVal myReportDocument As ReportDocument)
Dim myTables As Tables = myReportDocument.Database.Tables
Dim myTable As CrystalDecisions.CrystalReports.Engine.Table
For Each myTable In myTables
Dim myTableLogonInfo As TableLogOnInfo = myTable.LogOnInfo
myTableLogonInfo.ConnectionInfo = myConnectionInfo
myTable.ApplyLogOnInfo(myTableLogonInfo)
MsgBox(" TestConnectivity " & myTable.TestConnectivity)
If vAccessDbName <> "" Then
myTable.Location = vAccessDbName
End If
Next
In the above code TestConnectivity has been established for UID, but TestConnectivity failed for LogonID.
In ODBC File DSN Test Connection has been established for both UID & LogonID.
Now I think you understand my problem.
I am expecting your valuable advise.
Thanks in Advance
Deivanayaga Perumal D.
End Sub