Hello Crystal folks,
We're putting the last touches on an upgrade to a native C++ application that had been relying on the native CR9 Print Engine (PE) interface, and is now (almost) using the CR13 .NET API. The last hurdle, I think, is passing an open ODBC Connection to CR13.
Specifically, under CR9, our application had been using PELogOnSQLServerWithPrivateInfo(), which accepts an HDBC handle as a parameter (which we got from CDatabase::m_hdbc). Passing Crystal the connection (rather than just a connection string) was/is desirable, since the application does some black magic with to the connection before it's useable.
Yesterday, I stumbled across DatabaseController.ReplaceConnection() in the RAS (CrystalDecisions.ReportAppServer.Controllers.DatabaseController). This looks promising, especially the freeform style of the PropertyBags that ReplaceConnection() relies on (via the ConnectionInfo object). However, although documentation seems to suggest that it's possible to pass a Connection through ReplaceConnection(), I couldn't find an example of how to do it. Furthermore, I couldn't find a complete list of properties that the ConnectionInfo recognises as meaningful.
Essentially, the question boils down to: Does the CR13 .NET API have an equivalent to CR9's PELogOnSQLServerWithPrivateInfo() -- or some other method of accepting an open ODBC Connection?
Thanks,
Kevin