PDA

View Full Version : سوال: کریستال رپورت در بعضی کامپیوترها درخواست کلمه عبور می کند



robat7
شنبه 16 اردیبهشت 1391, 00:01 صبح
سی شارپ 2010 - ویندوز 7 - کریستال رپورت
سلام
وقتی برنامه را از روی کامپیوتر خودم اجرا می کنم گزارش بدون درخواست یوزرنیم و پسورد کار می کند. همین برنامه بر روی لپ تاپ با لاگین سایر کاربران بدون درخواست یوزرنیم و پسورد کار میکند
ولی وقتی برنامه را برروی کامپیوترهای دیگر اجرا میکنم (همان کاربران قبلی) گزارش درخواست یوزرنیم و پسورد می نماید؟!!!
از کد زیر برای تنظیم پارامترهای دیتا بیس استفاده می نمایم

CrystalDecisions.Shared.ConnectionInfo CrInfo = new CrystalDecisions.Shared.ConnectionInfo();
CrInfo.ServerName = ID_Sever;
CrInfo.UserID = ID_UserName;
CrInfo.Password = ID_UserPass;
CrInfo.DatabaseName = ID_Database;
System.IO.FileInfo ReportFinder = new System.IO.FileInfo(ID_ReportLocation + @"\" + ReportName);
crystalReportViewer1.ReportSource = ReportPath;
CrystalDecisions.CrystalReports.Engine.ReportDocum ent r = new CrystalDecisions.CrystalReports.Engine.ReportDocum ent();
r.Load(ReportPath);
crystalReportViewer1.ReportSource = r;
SetLogin(CrInfo);
crystalReportViewer1.Refresh();

private void SetLogin(ConnectionInfo connectionInfo)
{
TbLogOninfos = crystalReportViewer1.LogOnInfo;
foreach (TableLogOnInfo TblogOninfos in TbLogOninfos)
{
TblogOninfos.ConnectionInfo = connectionInfo;
}
}
همه کاربران برروی یک دومین هستند و دسترسی مشابه دارند
کسی ایده ای دارد؟

majjjj
دوشنبه 18 اردیبهشت 1391, 09:21 صبح
ReportDocument RepDoc = new ReportDocument();
string strreportpath = Application.StartupPath + @"\report.rpt";
RepDoc.Load(strreportpath);
RepDoc.SetDataSource(ds.Tables[0]);
RepDoc.VerifyDatabase();
crystalReportViewer1.ReportSource = RepDoc;

از این کد استفاده کنید

robat7
چهارشنبه 20 اردیبهشت 1391, 16:49 عصر
سلام
ممنون از پاسخ شما
روش پیشنهادی شما را اجرا کردم.

CrystalDecisions.CrystalReports.Engine.ReportDocum ent rt = new CrystalDecisions.CrystalReports.Engine.ReportDocum ent();
rt.Load(ReportPath);
rt.SetDataSource(Ds_Obj.Tables["Rep1"]);
روی کامپیوتر خودم جواب می دهد ولی روی بقیه کامپیوترها دستور

crystalReportViewer1.ReportSource = rt;
موجب توقف برنامه می شود

Description:
Stopped working

Problem signature:
Problem Event Name: APPCRASH
Application Name: Supplierstest.exe
Application Version: 1.0.0.0
Application Timestamp: 4faa5ef9
Fault Module Name: KERNELBASE.dll
Fault Module Version: 6.1.7601.17651
Fault Module Timestamp: 4e211319
Exception Code: e0434352
Exception Offset: 0000b9bc
OS Version: 6.1.7601.2.1.0.256.48
Locale ID: 1033

ران-تایم کریستال رپرورت را حذف و دوباره پیاده سازی کردم ولی همان نتیجه.
وقتی فایل اجرایی را نیز توسط کامپیوتر خودم اجرا می کنم برنامه متوقف می شود (کرش)
کد زیر را هم در app.config وارد نموده ام

</configSections>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
<!--<requiredRuntime version="v4.0.20506" />-->
</startup>
</configuration>
و وقتی برنامه بر روی کامپیوتر خودم کرش میکند و آنرا دیباگ می کنم پیام خطاری زیر را می بینم

mixed mode assembly is built against version 'v2.0.50727'