cancel
Showing results for 
Search instead for 
Did you mean: 

Crystal Report: Identify data sources

Former Member
0 Kudos

Hi,

We are using Crystal reports with Typed Data set to generate the report in our application, it is working as expected. But Customer added few other tables to that report using SQL data source(i.e by adding OLEDB connection) to add required tables to the report. Now if we generate the report, it is asking SQL server credentials every time.To resolve this problem we have written the below code to provide the SQL credentials to the report.

Dim reportGlobal As New ReportDocument

Dim crtableLogoninfo As TableLogOnInfo = New TableLogOnInfo

Dim crConnectionInfo As ConnectionInfo = New ConnectionInfo

Dim CrTables As Tables crConnectionInfo.ServerName = "sqlservername" crConnectionInfo.DatabaseName = "databasename"

crConnectionInfo.UserID = "sa"

crConnectionInfo.Password = "password"

crConnectionInfo.IntegratedSecurity = True

CrTables = reportGlobal.Database.Tables

For Each CrTable As CrystalDecisions.CrystalReports.Engine.Table In CrTables crtableLogoninfo = CrTable.LogOnInfo crtableLogoninfo.ConnectionInfo = crConnectionInfo CrTable.ApplyLogOnInfo(crtableLogoninfo)

Next

As per the above code, our application is getting all the tables available in typed data set and other(i.e newly added tables from SQL server). Then our connection information is setting to all the tables. We want to know is there any other way to identify SQL data source is added to the report or is there any way to identify the tables which are not included in typed data set. Please help us on above. Thanks

Accepted Solutions (0)

Answers (1)

Answers (1)

DellSC
Active Contributor
0 Kudos

In your application, have you followed a specific naming convention for the tables in your DataSet? If so, when you're looping through the tables, you could identify which ones use that naming convention and skip setting the login on those tables. Also, I believe that the "IntegratedSecurity" setting turns on single-sign-on to the database using the user's credentials instead of the credentials you are setting in the code, so you might want to try removing that from your code.

-Dell

Former Member
0 Kudos

Thank you for the repley

No specific naming convention given for the tables used in our Typed DataSet.

We don't use 'IntegratedSecurity' as we are connecting Azure SQL data sources.

Please provide any other ways to identify SQL datasource is added to the report or is there any way to identify the tables which are not included in typed dataset.

DellSC
Active Contributor
0 Kudos

You'll definitely want to change the code to set IntegratedSecurity to false.

Beyond that, you'll want to look at the ConnectionInfo for each table as you loop through the tables. I'm not exactly sure what the difference between the two types of tables will be, but there will be a difference (debug through the code to see what it is) and that will help you determine which tables you will not set logon info for.

-Dell