on 04-13-2018 3:32 PM
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
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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.
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
User | Count |
---|---|
94 | |
11 | |
11 | |
10 | |
9 | |
8 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.