晶体报告 13 预言机连接问题



我正在尝试迁移一个小型.NET应用程序(VS2008,Crystal Report 10,OS Win7 32位( 该应用程序有 2 个报告,这些报告使用 oracle 数据库版本 11g 版本 2 (11.2.0.1( 的某些数据。

当我升级应用程序(VS2019Pro,最新的水晶报告(CR13SP25(,OS Win10 64位(时,应用程序本身按预期运行,并且2个水晶报告显示正确的数据。 只有当我在水晶报表设计器中打开数据库专家并尝试访问 Oracle 连接时,我在尝试拉取该连接的表列表时收到错误。 我已经尝试了所有 3 个可能的 Oracle 连接,它们都给出了一个(不同的(错误: (1( Microsoft OLE DB 提供程序的 Oracle (MSDAORA(:"ADO 错误代码:0x80004005 - 尝试检索错误 ORA-01019 的文本时出错" (2( OLE DB for Oracle (OraOLEDB.Oracle(: "ADO 错误代码: 0x8000ffff" (3( Oracle Server (crdb oracle(:"数据库连接器中的未知错误">

现在奇怪的是,有时我确实可以访问数据库专家中的这 3 个连接,这意味着表列表变得可见。 这种情况很少发生,也不会持续很长时间。我还注意到,当这种情况发生时,我可以访问所有 3 个不同的连接,所以它是"全有或全无"。

当我创建新解决方案并添加新的水晶报表时,或者当我使用 Visual Studio 2017 专业版而不是 2019 时,此行为是相同的。

有人对如何解决这种行为有想法吗? 提前感谢!

终于设法解决了这个问题。 首先,我在Visual Studio 2019中打开了旧项目,触发了解决方案本身和Crystal Reports的转换屏幕(选择"是"(。 由于我最初的解决方案是使用 Oracle 的(过时的(Microsoft OLE DB 连接,因此我首先在数据库专家(在现有 Crystal Report 中(中创建了一个新连接,该连接使用了位于 OLE DB (ADO( 中的 Oracle 的 OLE DB 提供程序。 接下来,我用新连接替换了旧连接(再次在数据库专家中(。 将其应用于所有现有报告后,一切正常!

最新更新