我正在尝试使用水晶报表和 MySQL 作为数据库创建 VB.Net 应用程序。我尝试通过各种可用方法连接 Crystal Report 和 MySQL 数据库,但只有 DSN 方法成功(部分)。
我创建了一个64位系统DSN并将其链接到VB.Net 2022中的水晶报表。在设计视图中,我可以看到包含数据的报表。
但是,当我尝试运行并查看报告时,会发生以下情况。
我还使用以下代码在运行时设置登录凭据。
Dim rep As New crRepAllBooks
rep.SetDatabaseLogon("root", "xxxxxxxxx", "localhost", "lms")
CrystalReportViewer1.ReportSource = rep
rep.Refresh()
我还用 32 位 DSN 进行了测试,结果相同。我正在使用任何 CPU 选项。
您可能没有在发布模式下将应用程序构建为 64 位应用程序。
您声明您创建了 64 位 DSN,并且 Visual Studio 作为 64 位应用程序运行,因此调试器中一切正常。
但是,如果您不指定以 64 位模式构建 .EXE,则最终可能会得到一个尝试使用 64 位 DSN 的 32 位可执行文件,而这是行不通的。
您必须指定发布模式来构建 64 位应用程序,或者还创建 32 位 DSN。