2013-01-22 43 views
3

我需要您的帮助。Crystal Report始终要求数据库登录

我是一个商店的程序编写代码,我用vb.net 2008水晶报表版本10.5.37xxxx

当我试图在客户端计算机上安装我的程序的问题是,一切作品,但不在我的Crystal Report中。它总是要求数据库登录,我没有编写我的程序来请求数据库登录。

我只是写它在简单的代码是这样的:

Public Class Form16 

    Private Sub Form16_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
     Dim view As New CrystalReport4 
     view.SetParameterValue("p_1", Form5.no_faktur_tb_immanuel) 
     CrystalReportViewer1.ReportSource = view 
    End Sub 

End Class 

谁能帮助我?

回答

1

您应该能够手工编码的登录凭据。

Public Class Form16 

    Private Sub Form16_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 

     Dim view As New CrystalReport4 
     Dim user as string = "Username" 
     Dim pwd as string = "Password" 

     view.SetDatabaseLogon(user, pwd) 
     view.SetParameterValue("p_1", Form5.no_faktur_tb_immanuel) 
     CrystalReportViewer1.ReportSource = view 

    End Sub 

End Class 
+0

我不知道我的用户名和密码是怎么设置的? – NPE

+0

如果您可以在没有用户和密码的情况下打开您的ms访问数据库,那么您不需要在代码中设置一个或包含一个。你确定客户端电脑有足够的权限吗?另外,你如何连接到你的数据库?你能发表那段代码吗? – ovaltein

0

确保您的报告DataSource Provider设置为Microsoft OLE DB provider for SQL Server而不是SQL Server Native Client 10.0

+0

我使用的MS Access为我的数据库, – NPE

+0

你在你的水晶报表使用供应商? – AbZy

0

尝试开放领域的探险家--->数据库字段--->右键 - >当前数据源--->报告连接----->报告----->属性----> set属性为---

数据源:\ Databasename.accdb

和观察者形式负载代码作为

昏暗cryRpt作为新的ReportDocument

Dim Report1 As New rptItemWise 

    Dim strServerName As String 
    strServerName = Application.StartupPath 
rptItemWise.SetDatabaseLogon("admin", "", strServerName, "dastabasename.accdb", True) 



    cryRpt.Load(Application.StartupPath + "\rptItemWise.rpt") 

也更改报表连接相同的数据源 我觉得你的代码工作....