The reports use an ODBC connection to connect to the database. Every report's login information is stored in a database table. Basicly what I do is do a query on the table for the particular report ID and then pull back the logon information for that report and then just loop through it in sequence and set the login information.
Dim crxApp as CRAXDRT.Application
Dim crxReport as CRXDRT.Report
Dim crxDBTable as CRAXDRT.DataBaseTable
Set crxApp = New CRAXDRT.Application
Set crxReport = crxApp.OpenReport(TargetPath, 1)
crxReport.DiscardSavedData
While Not RS.EOF
Set crxDBTable = crxReport.Database.Tables.Item(CLng(RS("Seq"

))
crxDBTable.SetLogOnInfo CStr(Trim(RS("ServerName"

)), CStr(Trim(RS("DbName"

)), CStr(Trim(RS("RptUserID"

)), CStr(Trim(RS("RptPassword"

))
RS.MoveNext
Wend
RS.Close
Set RS = Nothing