使用 MySQL Server 的系统 DSN 时,Crystal Reports 中显示“数据库登录失败”

问题描述 投票:0回答:1

我正在尝试使用水晶报表和 MySQL 作为数据库创建 VB.Net 应用程序。我尝试通过各种可用方法连接 Crystal Report 和 MySQL 数据库,但只有 DSN 方法成功(部分)。

我创建了一个64位系统DSN并将其链接到VB.Net 2022中的水晶报表。在设计视图中,我可以看到包含数据的报表。

enter image description here

但是,当我尝试运行并查看报告时,会发生以下情况。

  1. Crystal Report 再次要求提供登录凭据。 enter image description here
  2. 即使提供了正确的凭据,也会收到“登录失败”错误。 enter image description here

我还使用以下代码在运行时设置登录凭据。

   Dim rep As New crRepAllBooks
   rep.SetDatabaseLogon("root", "xxxxxxxxx", "localhost", "lms")
   CrystalReportViewer1.ReportSource = rep
   rep.Refresh()

我还用 32 位 DSN 进行了测试,结果相同。我正在使用任何 CPU 选项。

enter image description here

enter image description here 有人可以解释一下如何在不提示输入凭据的情况下正确执行此操作吗?

mysql vb.net crystal-reports
1个回答
0
投票

您可能没有在发布模式下将应用程序构建为 64 位应用程序。

您声明您创建了 64 位 DSN,并且 Visual Studio 作为 64 位应用程序运行,因此调试器中一切正常。

但是,如果您不指定以 64 位模式构建 .EXE,则最终可能会得到一个尝试使用 64 位 DSN 的 32 位可执行文件,而这是行不通的。

您必须指定发布模式来构建 64 位应用程序,或者还创建 32 位 DSN。

© www.soinside.com 2019 - 2024. All rights reserved.