ODBC File DSN attribute LogonID failed to Connect Database

deivaa.dhayalan

New Member
Hi,
I am trying to connect my Progress Database through ODBC File Dsn (For Populating data in Crystal Reports XI).
File DSN attribute UID is working fine.
But File DSN attribute LogonID is failed to connect Progress DB.
UID----(Openedge 10.0X Versions)
LogonId ---- (OpenEdge 10.1C & Higher Versions).
Can any tell me how to solve this issue.
Thanks
Deivanayaga Perumal D
 

RealHeavyDude

Well-Known Member
What I was asking is: Did you prepare the database so that it will accept SQL connections ( ODBC or JDBC ) in the first place? This is a separate step from setting up the ODBC connection itself.

What is the exact error message you get?

Heavy Regards, RealHeavyDude.
 

deivaa.dhayalan

New Member
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
 

RealHeavyDude

Well-Known Member
Don't know anything 'bout VB too ...

What is the exact error message you get? If the connection to the database fails you should get an error message ...

Heavy Regards, RealHeavyDude.
 

deivaa.dhayalan

New Member
No Progress Error Message.

Can you please tell me why it is accepting UID and not accepting LogonID.

This is purely related with Progress ODBC Connectivity issue. Since OE 10.0X versions supports UID attribute (default), In OE 10.1X version supports LogonID (defaults).

Thanks in Advance
Deivanayaga Perumal D
 

RealHeavyDude

Well-Known Member
I can't tell you the difference between userid and logon id. But I can tell you that every ODBC/JDBC connection to an OpenEdge database needs valid user credentials. Don't know how the userid or the logonid from the DSN file map to that.

Heavy Regards, RealHeavyDude.
 
Top