【发布时间】:2017-04-24 12:13:31
【问题描述】:
将后端数据库从 SQL Server 2008 R2 更改为 SQL Server 2014(均为企业版)后,我们的水晶报表不再运行。该数据库于 2008 年备份,并于 2014 年使用 SQL Server Management Studio 恢复。 .Net 应用程序运行良好,但没有运行 Crystal Reports。屏幕只是闪烁,没有生成或交付 PDF。如果我们将 web.config 中的连接字符串更改回原始服务器和数据库,则报告工作正常。下面是为了保护无辜者而更改了 SERVERNAME、DBNAME、USER 和 Password 的连接字符串。唯一改变的是 SERVERNAME。
<add name="Pubs"
connectionString="Data Source=SERVERNAME;Initial Catalog=DBNAME;Integrated Security=False;User Id=USER;Password=*********"
providerName="System.Data.SqlClient" />
谢谢。
更新:
再次检查后,我现在在 SQL 日志中看到身份验证失败。我不完全确定这些是否来自 Crystal Reports。客户端 IP 是一个完全不同的 IIS 网站 IP,位于同一 Web 服务器上,不应与该数据库通信。
Login failed for user '******'. Reason: Password did not match that for the login provided. [CLIENT: x.x.x.x]
Source Logon
Message
Error: 18456, Severity: 14, State: 8.
更新 #2
开发人员显然发现报告缺少指定用于连接的端口存在一些问题,并且正在查看解决问题的报告。
感谢您的意见。
【问题讨论】:
-
首先检查用户是否进入SQL Server。如果登录失败,请检查“SQL Server 日志”或“活动监视器”查看用户是否已登录。
-
SQL 日志中没有身份验证错误。我在活动监视器中显示来自前端的有效连接。谢谢。
-
@Wendy - 再次检查后,我现在看到身份验证错误。我用这些信息更新了原始帖子。
-
能否在 SQL Server 中更新此用户的密码?
-
@Wendy - 是的,我做到了。没变。我还完全更改了 DB 用户密码并更新了所有 web.config 只是为了咧嘴而没有改变。我还尝试使用另一个密码创建一个新的 db_owner 用户,我们得到了相同的结果。我也在等待开发人员的反馈,以验证应用程序中的所有报告都失败了(有数百个)。
标签: sql-server crystal-reports