crystal报告提示输入数据库凭据
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了crystal报告提示输入数据库凭据相关的知识,希望对你有一定的参考价值。
让我先说明背景细节。我正在使用visual studio 2013编写一个vb.net Windows窗体应用程序来加载水晶报表(.rpt)文件。主报告和子报告使用来自Pervasive数据库的SQL命令(通过oledb连接),如下图所示。为了保护隐私,我已将数据库名称更改为DBNAME.
我在客户端计算机上安装了SAP Crystal Reports Runtime Redistributable 13.02。显然,我的计算机上有开发人员版本。 当我从我的计算机(用于开发的那个)运行构建时,一切似乎工作正常,但是当我尝试在客户端计算机上运行它时,我得到如下窗口:
这里有几点需要注意:
- 在开发计算机上,不会出现此提示。
- 由于某种原因,数据库名称显示文件服务器名称应该在哪里
- 我从未设置用户名或密码,也从未需要通过控制中心从网络上的任何计算机访问此数据库
- 没有可想到的用户名和密码组合(包括网络凭据,Windows凭据,并将其留空)
我已经尝试在查看器表单加载事件中强制创建凭据
CrystalReportViewer1.ReportSource = rpt
rpt.SetDatabaseLogon("", "", "FILESERVER", "DBNAME")
rpt.Subreports("Subreport2").SetDatabaseLogon("", "", "FILESERVER", "DBNAME")
rpt.Load()
但它似乎没有什么区别。我错过了什么?
答案
好,我知道了。感谢Bugs指出我正确的方向。问题在于报告中的连接类型。使用“右键单击>数据库>设置数据源位置”更改与ODBC(RDO)的连接已取消凭据提示,但导致“无法打开连接”错误。从那里,我从普及控制中心寻找ODBC管理员的差异。我发现我的系统DSN碰巧与我的数据库名称相同(这就是为什么它让我感到困惑)。在客户端计算机上创建DSN解决了连接问题。
以上是关于crystal报告提示输入数据库凭据的主要内容,如果未能解决你的问题,请参考以下文章
解决方案:从C#app调用Crystal Report导致“数据库登录失败”或“加载报告失败”