我已经使用 Crystal Reports XIr2 创建了一个报表,用于为我们的应用程序报告来自数据库的信息。它是一个交叉表报告,报告运行存储过程返回的各种数据。
快速了解运行此报告的应用程序 - 它是一个用 VB6 编写的应用程序,在加载应用程序时会提示您输入用户名和密码,它们在 SQL 服务器上配置为 SQL 登录名,因此当您登录时您正在针对 SQL Server 安全性进行身份验证的应用程序。
该报表在 Crystal Reports 中工作得非常好,但是当它从客户站点上的应用程序中启动时,我遇到了一些奇怪的行为。它适用于所有具有“sa”级别数据库访问权限的用户,但在以任何其他用户身份运行时会出现以下错误;
如果我以在应用程序中收到上述错误的用户身份直接连接到数据库服务器,则手动运行存储过程不会出现任何错误。
如果我给在 SQL 服务器上的应用程序“sa”权限内遇到错误的用户,则错误将停止发生。
我已经检查了相关存储过程的所有相关执行权限,但如我所述,如果我手动连接到 SQL Server 并执行该过程,我没有收到上面链接的错误。
如果收到此错误的用户在此报告之前运行另一个报告,它会起作用,但是如果他们在收到此错误后运行报告,则所有报告都会停止工作并需要重新启动应用程序。
请问有什么想法吗?