cancel
Showing results for 
Search instead for 
Did you mean: 

Crystal reports - application intent settings

0 Kudos

We are a vendor that uses crystal reports. One of our biggest customers is wanting to implement Availability Groups in sql server 2016 and

I cannot find anywhere any mention of support for this feature? Specifically the connection string ( application intent=readonly ) …

Without getting technical , I just need a quick conversation with someone or feedback if you are planning on supporting this feature or not..

I’m desperate, so any info would be greatly appreciated…

Accepted Solutions (0)

Answers (6)

Answers (6)

0 Kudos

Any way to get a call to try and resolve this?

0 Kudos

Don, we are now seeing the properties in the connection object. But not getting the expected behavior.. I've even drilled down into the sub reports connection as Justin has indicated.

Just doesn't seem to get getting routed to the secondary as we would expect it to.

0 Kudos

Did it work if you changed the property in the report?

Use .Clone() to copy the connection properties and then add/change the property.

0 Kudos

13.0.2000.0 is not the SP version, that is the Framework version and does not change unless you upgrade to SP 21 or above.

Go here to get the latest:

https://wiki.scn.sap.com/wiki/display/BOBJ/Crystal+Reports%2C+Developer+for+Visual+Studio+Downloads

Try changing one of the reports manually and see if that works.

Otherwise you'll likely need to clone the connection properties and then change it.

Don

justinmcguirk
Discoverer
0 Kudos

I have tried again using the latest runtime (SP 24) and I'm still having trouble programmatically adding that connection property. Here is what I'm trying:

if (connection.LogonProperties.ContainsKey("Application Intent"))
    connection.LogonProperties.Set("Application Intent", "READONLY");
else
    connection.LogonProperties.Add(new NameValuePair2("Application Intent", "READONLY"));

I have tried this for each LogOnInfo.ConnectionInfo in ReportDocument.Database.Tables and for each IConnectionInfo in ReportDocument.DataSourceConnections. For both, the Add call is made, but the LogonProperties.Count remains the same.

0 Kudos

Hi Joe,

Make your connection using OLE DB and after you fill in the log on info and database click the Next button and you can they add new properties or edit existing connection properties.

Notice there is a Application Intent property and it's set to READWRITE, change it to READONLY and it should work.

For ODBC connection same thing, set up in the DSN:

Don

justinmcguirk
Discoverer
0 Kudos

Hi Don, I'm working with Joe on this issue. Is it possible to set this property with the SDK using CrystalDecisions.Shared 13.0.2000?

I have tried adding a new "Application Intent", "READONLY" property to both ConnectionInfo.LogonProperties and ConnectionInfo.Attributes.Collection. All of my attempts ended up with either the property not being added or the report immediately returning a "Failed to load database information" error.

0 Kudos

No need to, if you want to stop people from editing the reports you can lock them.

Curious have you tried using it?

Technically we only read data, there is no reason to write data, but we do allow it if the report is setup that way.

Don

0 Kudos

Don, it's not a matter of making reports readonly.. It's an ability for IT to control connection request routing.. Example

in sql 2016 , you can setup an availability group listener. So you would connect to that listener.. So you have a primary server and a secondary server that is being mirrored / synchronized by sql 2016.. If you configure the routing for the servers , if you say

Name Type

Primary

Secondary Readonly -- Upon a connection being made to sql, if the readonly intent flag is passed it , the server would switch

you automatically to the secondary server.. The idea is we want users running reports again the secondary server while normal

data entry occurs in the primary server... Kind of a load balancing technique..

Thanks.. I can give more details if needed..