我正在开发一个创建提案和发票的桌面软件。我将我的数据库(MySql)存储在远程服务器中。在我用于编码的PC中,一切都运行得很好。
在客户端计算机上,我可以毫无问题地添加,更新和删除记录。但当我尝试打开一个记录时,我面临着一个错误。
我在VB.NET中创建了报告但是当我遇到错误时,我在Crystal Reports XI Release 2中打开了rpt文件并更新了数据源位置,验证了数据库并保存了文件。我的代码的一部分是:
ElseIf Me.Text = "Tekliflere Gözat" Then
Form16.Text = "Teklif Detayları:"
Dim strReportPath As String
Dim rptDoc As CrystalDecisions.CrystalReports.Engine.ReportDocument
strReportPath = My.Application.Info.DirectoryPath & "\Teklif.rpt"
rptDoc = New ReportDocument
rptDoc.Load(strReportPath)
rptDoc.SetDatabaseLogon("USER_NAME", "PASSWORD", "SERVER_IP", "DB_NAME")
Form16.CrystalReportViewer1.ReportSource = rptDoc
Form16.CrystalReportViewer1.SelectionFormula = "{teklif1.teklifno} =" & ListView1.SelectedItems(0).Text
Form16.CrystalReportViewer1.Refresh()
Form16.CrystalReportViewer1.RefreshReport()
Form16.Show()
Me.Close()
您能否提一些建议。
谢谢。
问候
奥古兹
答案 0 :(得分:1)
我找到了解决方案。但首先要看看casue。通过我的软件连接到远程数据库everthing工作正常。但是当我在CR中设计报表时,我在数据库专家菜单中创建了一个连接。所以这意味着我在本地向CR描述了连接的位置和方式。但是当我将包含所有必要组件的软件安装到客户端计算机CR报告文件时搜索连接标准,当然它无法在客户端计算机中找到它。
因此,解决方案是将Mysql ODBC Connector安装到客户端计算机,并使用我的PC中的相同设置对其进行配置。或者作为替代解决方案,在代码中以编程方式定义所有连接和数据库设置。
希望这有帮助。