Crystal报表无法打开连接

时间:2011-03-08 17:19:10

标签: c# crystal-reports sql-server-express

嘿,大家好。 因此,有一个ac#windows表单,它使用水晶报告和一个sql express后端和一个从远程sql server 08中提取的水晶报告。当试图从本地数据库中提取时,我得到一个“未能打开连接”但是报告从远程连接加载正常。

一切都在开发机器上运行良好,在虚拟机上进行测试时失败了。虚拟机上的DB是使用开发DB的(当前)备份创建的。这是连接的代码......

private void frm_cr_Visit_Load(object sender, EventArgs e)
    {
        this.Text = "Visit Report - Version:" + Application.ProductVersion;
        Cursor.Current = Cursors.WaitCursor;
        ReportDocument cryRpt = new ReportDocument();
        cryRpt.Load(@"C:\Data\MRE\crVisitBySubVisitID.rpt");
        cryRpt.SetDatabaseLogon("login", "password", @"localserver\sqlexpress", "DBname");
        cryRpt.SetParameterValue("@VisitID", intVisitID);
        cryRpt.SetParameterValue("@FullName", GlobalVariables.GlobalFullName);
        crv.ReportSource = cryRpt;
        crv.Refresh();
        Cursor.Current = Cursors.Default;
    }

程序中的所有其他DB功能都有效。是什么导致了这个问题,我该如何解决?

谢谢!
戴夫k

2 个答案:

答案 0 :(得分:0)

如果每个其他功能都有效且数据库详细信息相同,请检查用户的权限,因为这是导致连接问题的常见原因(假设认证显然会返回该错误),还要检查网址为(无需有关服务器的更多信息)名称)假设“localserver”可能应该是“localhost”,显然如果设置了HOSTS文件或服务器名称,那么“localserver”可以忽略它。

答案 1 :(得分:0)

发现我的问题,它与仅为Windows身份验证设置的sql server有关,而不是那个和sql登录身份验证。

卫生署!