2016-10-09 2 views
0

Это исключение, протекающие на клиентском ПК, а CrystalReports работают отлично по производству ПКбазы данных входа в систему не удалось

CrystalDecisions.CrystalReports.Engine.LogOnException: Database logon failed. ---> System.Runtime.InteropServices.COMException: Database logon failed. 
at  CrystalDecisions.ReportAppServer.Controllers.ReportSourceClass.GetLastPageNumber(RequestContext pRequestContext) 
at CrystalDecisions.ReportSource.EromReportSourceBase.GetLastPageNumber(ReportPageRequestContext reqContext) 
--- End of inner exception stack trace --- 
at CrystalDecisions.ReportAppServer.ConvertDotNetToErom.ThrowDotNetException(Exception e) 
at CrystalDecisions.ReportSource.EromReportSourceBase.HandleException(Exception exception) 
at CrystalDecisions.ReportSource.EromReportSourceBase.GetLastPageNumber(ReportPageRequestContext reqContext) 
at CrystalDecisions.CrystalReports.Engine.FormatEngine.PrintToPrinter(Int32 nCopies, Boolean collated, Int32 startPageN, Int32 endPageN) 
at CrystalDecisions.CrystalReports.Engine.ReportDocument.PrintToPrinter(Int32 nCopies, Boolean collated, Int32 startPageN, Int32 endPageN) 
at CButtonTestForm.frm_sale1.print(Int32 op1) in D:\CButton\CButtonTestForm\frm_sale1.vb:line 221 
at CButtonTestForm.frm_sale1.cmd_print_Click(Object sender, EventArgs e) in D:\CButton\CButtonTestForm\frm_sale1.vb:line 1253 
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent) 
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) 
at System.Windows.Forms.Control.WndProc(Message& m) 
at System.Windows.Forms.ButtonBase.WndProc(Message& m) 
at System.Windows.Forms.Button.WndProc(Message& m) 
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) 

enter image description here

При нажатии на кнопку печати, он дает ошибку Logon Failed:

Function print(ByVal op1 As Integer) As Integer 
    adpt = New SqlDataAdapter("SELECT orderdetail.sr, orderdetail.prid, orderdetail.sp, orderdetail.qty, orderdetail.total FROM orderdetail where OrderID=" & cmbinv.Text, cn) 
    ds = New DataSet() 
    adpt.Fill(ds, "orderdetail") 
    rpt.SetDataSource(ds) 
    ' Dim Report1 As New saleinv 
    ' Report1.DataDefinition.FormulaFields.Item("Text7").Text = txttoken1.Text 
    rpt.SetParameterValue("Token", txttoken1.Text) 
    frmsalerpt.CrystalReportViewer1.ReportSource = rpt 
    rpt.PrintToPrinter(1, True, 0, 0) 
End Function 
+0

Вы уверены, что у их учетной записи есть разрешение на запрос ваших данных? – Beth

ответ

0

Заполните информацию, содержащуюся в базе данных нашего сервера:

CrystalDecisions.Shared.TableLogOnInfo crLogonInfo; 
crLogonInfo = this.crystalReport.Database.Tables[0].LogOnInfo; 
crLogonInfo.ConnectionInfo.ServerName = SystemConfiguration.DBInstance.SQLServerName; 
crLogonInfo.ConnectionInfo.UserID = SystemConfiguration.DBInstance.SQLUserID; 
crLogonInfo.ConnectionInfo.Password = SystemConfiguration.DBInstance.SQLPassword; 
crLogonInfo.ConnectionInfo.DatabaseName = SystemConfiguration.DBInstance.SQLDatabaseName; 
this.crystalReport.Database.Tables[0].ApplyLogOnInfo(crLogonInfo); 
+0

Кроме того, более подробная информация о причине ошибки входа в систему будет записана в журнал ошибок SQL Server. По соображениям безопасности эта информация не возвращается клиенту. –

Смежные вопросы