【问题标题】:crystal reports prompts for database credentials水晶报告提示输入数据库凭据
【发布时间】:2018-03-01 23:00:59
【问题描述】:

让我先列出背景细节。 我正在使用 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()

但它似乎并没有什么不同。我错过了什么?

【问题讨论】:

  • 这可能是您尝试运行报告的 PC 上的驱动程序问题,例如SQL Server Native Client 10。我在创建一些报告时发现了这一点,但在一些较新的 PC 上它丢失了,所以我必须安装驱动程序,这样报告就可以在不要求凭据的情况下运行。显然你使用的是不同的驱动程序,所以不确定这是否是问题,但我还是想发表评论。
  • 这是一个很好的起点,虽然我不知道如何找到要使用的驱动程序或如何安装它
  • 好的,所以我将报告中的连接从 OLEDB (ADO) 更改为 ODBC (RDO)。同样,在开发计算机上一切正常,但这次客户端计算机给我一个错误“无法打开连接”

标签: vb.net crystal-reports oledb


【解决方案1】:

好的,我明白了。感谢 Bugs 为我指明了正确的方向。问题在于报告中的连接类型。使用“右键单击 > 数据库 > 设置数据源位置”更改与 ODBC (RDO) 的连接摆脱了凭据提示,而是导致“无法打开连接”错误。从那里我从普遍控制中心寻找 ODBC 管理员的差异。我发现我有一个恰好与我的数据库同名的系统 DSN(这就是它让我感到困惑的原因)。在客户端计算机上创建 DSN 解决了​​连接问题。

【讨论】:

  • 很高兴你把它修好了。抱歉,我直到现在才回复。
  • 没问题,虽然我在使用访问数据库时遇到了类似的问题,但它一直指向我电脑上的一个位置,我不知道如何强制它使用 My.Application .Info.DirectoryPath
  • 没关系,我知道了 rpt.DataSourceConnections.Item(0).SetConnection(My.Application.Info.DirectoryPath.ToString() & "\db.mdb","", 1)跨度>
猜你喜欢
  • 2011-06-15
  • 1970-01-01
  • 2010-10-28
  • 1970-01-01
  • 2010-11-11
  • 2018-02-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多