PDA

View Full Version : مبتدی: عدم اجرای گزارشات در کامپیوتر دیگر



BabiTakpar
پنج شنبه 14 آذر 1392, 12:22 عصر
با سلام خدمت همه دوستان
می دونم تاپیک های زیاذی واسه کریستال ریپورت وجود داره ولی من نتونستم مشکل خودم رو با اونا حل کنم
من با کریستال ریپورت یک گزارش ساختم که به یه پراسجر از بانک اطلاعاتی Sql 2008 اتصال داره و در وی بی دات نت یک CrystalReportViewer1 روی فرم گذاشتم و در لود فرم کد زیر رو نوشتم ریپورت کاملا تو سیستم من اجرا میشه ولی وقتی برنامه رو رو یه سیستم دیگه نصب میکنم موقع گزارش گرفتن یوزر و پسورد sql می خواد که برای رفعش باید برم تمامی ریپورت هارو با کریستال باز کنم و یکی یکی یه کانکش به Sql همون سیستم بزنم تا دروست یشه.
می تونید کمک کنید..!!!؟؟؟


Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared
Public Class FrmPrintFisheHoghoogh
Public con As SqlConnection = New SqlConnection("Data Source=Arash-Comp;Initial Catalog=PayRoll;Integrated Security=True")
Private Sub FrmPrintFisheHoghoogh_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim RepDoc As New ReportDocument()


Dim pv2 As New ParameterValues()
Dim pdv2 As New ParameterDiscreteValue()

Dim pv3 As New ParameterValues()
Dim pdv3 As New ParameterDiscreteValue()


Dim pv4 As New ParameterValues()
Dim pdv4 As New ParameterDiscreteValue()


Dim pv5 As New ParameterValues()
Dim pdv5 As New ParameterDiscreteValue()



Dim ReportPath As String
ReportPath = Application.StartupPath + "\Report\Rep_FisheHoghoogh.rpt"



RepDoc.Load(ReportPath)
pdv2.Value = CompanyRef
pv2.Add(pdv2)

RepDoc.Load(ReportPath)
pdv3.Value = YearRef
pv3.Add(pdv3)

RepDoc.Load(ReportPath)
pdv4.Value = Personel_Ref
pv4.Add(pdv4)

RepDoc.Load(ReportPath)
pdv5.Value = Month_Ref
pv5.Add(pdv5)

RepDoc.DataDefinition.ParameterFields("@CompanyRef").ApplyCurrentValues(pv2)
RepDoc.DataDefinition.ParameterFields("@YearRef").ApplyCurrentValues(pv3)
RepDoc.DataDefinition.ParameterFields("@PersonelRef").ApplyCurrentValues(pv4)
RepDoc.DataDefinition.ParameterFields("@MonthRef").ApplyCurrentValues(pv5)

CrystalReportViewer1.ReportSource = RepDoc
End Sub

Naghibi
پنج شنبه 14 آذر 1392, 14:21 عصر
سلام
فکر کنم اگه username و Password اتصال به بانک رو توی connection string بذارین مشکل حل بشه

behrooz69
جمعه 15 آذر 1392, 04:27 صبح
Data Source=Arash-Comp;Initial Catalog=PayRoll;Integrated Security=True
داش اینی که تو تعریف کردی فقط تو سیستم خودت یا سروری که به اسم Arash-Comp باشه اجرا می شه و مشکل از اینجاست . اولا اگه تو پروسیجر میای به دیتابیست وصل میشی پس چرا دوباره اینجا تعریف می کنی ؟؟ این 2 بار فراخوانی میکنه و احتمالا دفعه اول درسته و دفعه دوم دوباره می پرسه .
دیتابیستو بریز تو پوشه Debug پروژت و با Data Directory بشه وصل شو و بعدش یوزر و پسوورد رو تو رشته اتصالت تعریف کن .
این تاپیکمو یه دید بزن تو پست 18 من گفتم چجوری استفاده کنی از دیتابیس که به مشکل نخوری داداش.

http://barnamenevis.org/showthread.php?430122-%D9%86%D8%AD%D9%88%D9%87-%DA%A9%D8%A7%D8%B1-%D8%A8%D8%A7-Sql-Server-2008-%D9%88-%DA%A9%D8%AF-%D9%87%D8%A7%DB%8C-%D8%A2%D9%86-%D8%AF%D8%B1-VB.Net&p=1926133#post1926133

اگه رو سیستم مقصد sql server 2008 نصب کردی و دیتابیستو Attach کردی از این کد واسه رشته اتصال دیتابیست استفاده کن

Data Source=(local);Initial Catalog=PayRoll;Integrated Security=True