• 0
eng_alammari

مشكلة Database Vendor Code 17

سؤال

السلام عليكم

 

اعمل على نظام متصل بقاعدة بيانات Microsoft SQL Server  واعمل على التقارير بواسطة

Crystal Report التابع لشركة Business Object

المشكلة بعد تصميم التقارير تعمل بشكل جيد ولا توجد مشكلة ويتم الاتصال من خلال البرنامج

لكن عند تغيير اسم الجهاز الذي هو نفسه سيرفر قاعدة البيانات تظهر هذه الرسالة .

"Failed to open the connection
Database Vendor Code 17"

وعند عمل Set Datasource Location

باسم السيرفر الجديد يشتغل التقرير

المشكلة ان هذا الاسلوب لا ينفع ولا يصح ومتعب ومرهق في نفس الوقت من منكم توصل لحل هذه المشكلة اكون شاكر له وممتن لو افادنا بما نستطيع تجاوز المشكلة

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

8 إجابة على هذا السؤال .

  • 0

look to this code

 protected void Page_Load(object sender, EventArgs e)
    {
        try
        {
            ReportDocument crRep = new ReportDocument();

            crRep.Load(Server.MapPath("~\\crRunLotReport.rpt"));

            SqlConnectionStringBuilder csbDb = new SqlConnectionStringBuilder(ConfigurationManager.ConnectionStrings["ConnectionString"].ToString());
            Tables crTables;
            TableLogOnInfo crTableLogOnInfo;
            ConnectionInfo crConnectionInfo = new ConnectionInfo();
            crConnectionInfo.ServerName = csbDb.DataSource.ToString();
            crConnectionInfo.DatabaseName = csbDb.InitialCatalog.ToString();
            crConnectionInfo.UserID = csbDb.UserID.ToString();
            crConnectionInfo.Password = csbDb.Password.ToString();
            crTables = crRep.Database.Tables;
            foreach (CrystalDecisions.CrystalReports.Engine.Table crTable in crTables)
            {
                string x = crTable.Name;
                crTableLogOnInfo = crTable.LogOnInfo;
                crTableLogOnInfo.ConnectionInfo = crConnectionInfo;
                crTable.ApplyLogOnInfo(crTableLogOnInfo);
            }

            crRep.SetParameterValue("@pnSocialGovernorateCode", Session["pnSocialGovernorateCode"].ToString());

            ExportOptions oExportOptions = new ExportOptions();
            oExportOptions.ExportFormatType = CrystalDecisions.Shared.ExportFormatType.PortableDocFormat;


            crRep.ExportToHttpResponse(oExportOptions, Response, false, "export");

            Response.ClearContent();
            Response.ClearHeaders();
            Response.ContentType = "text/richtext";
            Response.Flush();
            Response.Close();

            crRep.Close();
            crRep.Dispose();
        }
        catch (Exception ex)
        {
            Label1.Text = ex.Message.ToString();
        }
    }

 

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

اخي الكريم ! اشكرك على هذا الحل وسوف اقوم بتجريبه لكن الاتعتقد ان هناك مشكلة في التقرير نفسه !

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

تم حل المشكلة وجزاك الله خيرا على هذه المساعدة القيمة التي وفرت لي وقت وجهد كبير

 

لله درك وعلى الله اجرك

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

يعطيك الف عافية
ارجو منكم المساعدة

اين اضع هذا الكود ؟؟؟

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

اكرمك الله اخي eng_alammari

اخي  aqsa1 ضع الكود  في زر او في صفحة االتقرير

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

جزاك الله الف خير ياخوي على تفاعلك معي

ولكن عندما اضع الكود في صفحة التقرير ، تطلع لي اخطاء كما هو موضح في الصورة

 

Untitled90.jpg

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

ما نوع البرنامج هل هو windows application or web application

عل العموم هو يبحث مصادر المكتبات غير الي هذة العبارات


System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString"].ToString());

اما بقية الاخطاء في هي خاصه بالweb application واعتقد انل تعمل windows application

وهذا كود windows application

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;
using System.Windows.Forms;
using System.Configuration;
using System.Data.SqlClient;
 
    class ClassPrint
    {
        
        public static void subSetReport(ReportDocument crRep, ParameterFields oParameterFields, Form oMdiParent, bool ShowGroupTree)
        {
            SqlConnectionStringBuilder csbDb = new SqlConnectionStringBuilder(System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString"].ToString());
   
            Tables crTables;
            TableLogOnInfo crTableLogOnInfo;
            ConnectionInfo crConnectionInfo = new ConnectionInfo();
            crConnectionInfo.ServerName = csbDb.DataSource.ToString();
            crConnectionInfo.DatabaseName = csbDb.InitialCatalog.ToString();
            crConnectionInfo.UserID = csbDb.UserID.ToString();
            crConnectionInfo.Password = csbDb.Password.ToString();
            crTables = crRep.Database.Tables;
            foreach (Table crTable in crTables)
            {
                string x = crTable.Name;
                crTableLogOnInfo = crTable.LogOnInfo;
                crTableLogOnInfo.ConnectionInfo = crConnectionInfo;
                crTable.ApplyLogOnInfo(crTableLogOnInfo);
            }

            //crRep.VerifyDatabase();

            frmPrint frm = new frmPrint();
            if (oParameterFields!=null )
                frm.crystalReportViewer1.ParameterFieldInfo = oParameterFields;

            frm.crystalReportViewer1.ReportSource = crRep;
            frm.crystalReportViewer1.Refresh();

            frm.crystalReportViewer1.DisplayGroupTree = frm.crystalReportViewer1.ShowGroupTreeButton = ShowGroupTree;

            frm.MdiParent = oMdiParent;
            frm.Show();
        }
      
    }
 

بالتوفيق

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

الله يعطيك العافيه أخي الكريم 

جاري التجريب

 

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .