Skip to Content

Crystal reports - application intent settings

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…

Add comment
10|10000 characters needed characters exceeded

6 Answers

  • Posted on Mar 20, 2019 at 09:51 PM

    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.


    Add comment
    10|10000 characters needed characters exceeded

    • 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


      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..

  • Posted on Mar 21, 2019 at 01:30 PM

    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:


    Add comment
    10|10000 characters needed characters exceeded

    • 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.

  • Posted on Mar 25, 2019 at 02:10 PM

    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:

    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.


    Add comment
    10|10000 characters needed characters exceeded

    • 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");
          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.

  • Posted on Mar 29, 2019 at 08:46 PM

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

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

    Add comment
    10|10000 characters needed characters exceeded

  • Posted on Apr 03, 2019 at 04:00 PM

    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.

    Add comment
    10|10000 characters needed characters exceeded

  • Posted on Apr 15, 2019 at 03:13 PM

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

    Add comment
    10|10000 characters needed characters exceeded