Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

क्रिस्टल रिपोर्ट डेटासोर्स रीमैप

आप इसके बाद मेरे द्वारा उपयोग की जाने वाली प्रक्रिया को पाएंगे (मैंने इसे मक्खी पर सरल बनाया, अपनी वस्तुओं और वैश्विक चर को दबाते हुए)। यह प्रक्रिया एक रिपोर्ट को विकास के समय उपयोग किए गए मूल कनेक्शन से सक्रिय SQL सर्वर पर पुनर्निर्देशित करने की अनुमति देती है। यह वीबी में लिखा गया है और 2 मुख्य वस्तुओं का उपयोग करता है:

  1. क्रिस्टल रिपोर्ट के एक उदाहरण के माध्यम से खोली गई मूल रिपोर्ट वस्तु
  2. वर्तमान SQL सर्वर से सक्रिय कनेक्शन (जिसे P_currentConnection कहा जाता है) होने के नाते ADODB कनेक्शन

एप्लिकेशन में रिपोर्ट ऑब्जेक्ट को देखने/प्रिंट करने से पहले यह फ़ंक्शन (उप भी हो सकता है) कहा जाता है। इसका उपयोग प्रतिकृति डेटाबेस के बीच रिपोर्ट वितरित करते समय किया जा सकता है जहां उपयोगकर्ता, उनके स्थान के आधार पर, विभिन्न सर्वर/डेटाबेस से कनेक्ट होते हैं।

Public Function connectReportToDatabase( _
    P_report As CRAXDRT.Report)

Dim table As CRAXDRT.DatabaseTable, _

For Each table In P_report.Database.tables

    If table.DllName <> "crdb_ado.dll" Then
        table.DllName = "crdb_ado.dll"
    End If

    table.ConnectionProperties.DeleteAll

    table.ConnectionProperties.Add "Provider", P_currentConnection.Provider
    table.ConnectionProperties.Add "Data source", P_currentConnection.Properties("Data source").Value
    table.ConnectionProperties.Add "Database", P_currentConnection.DefaultDatabase
    table.ConnectionProperties.Add "Integrated security",  P_currentConnection.Properties("Integrated security").Value
    table.ConnectionProperties.Add "Persist Security Info", P_currentConnection.Properties("Persist Security Info").Value
    table.ConnectionProperties.Add "Initial Catalog", P_currentConnection.Properties("Initial Catalog").Value

    table.SetTableLocation table.location, "", P_currentConnection.ConnectionString

    table.TestConnectivity

Next table

इसे एक प्रक्रिया के साथ बुलाया जा सकता है जैसे:

Dim crystal As CRAXDRT.Application, _
    m_report as CRAXDRT.report        

Set crystal = New CRAXDRT.Application
Set m_rapport = crystal.OpenReport(nameOfTheReport & ".rpt")

connectreportToDatabase(m_report)

यदि आपकी रिपोर्ट में उप-रिपोर्ट शामिल हैं, तो आपको उन्हें सक्रिय कनेक्शन पर पुनर्निर्देशित भी करना पड़ सकता है। इस मामले में, आपको अपनी रिपोर्ट में सभी वस्तुओं को ब्राउज़ करना होगा, रिपोर्ट प्रकार की वस्तुओं की जांच करनी होगी और उन्हें नए कनेक्शन पर पुनर्निर्देशित करना होगा। मुझे यकीन है कि आपको इस मूल प्रक्रिया में संबंधित अतिरिक्त पंक्तियों को जोड़ने में मज़ा आएगा।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर लॉग शिपिंग और डिजास्टर रिकवरी इंस्टाल और कॉन्फ़िगरेशन -1

  2. SQL सर्वर में ऑडिट टेबल लागू करने के लिए सुझाव?

  3. तारीख को केवल घंटे/मिनट तक छोटा करें

  4. बाइट [] को सी # में डेटाटाइम में कैसे परिवर्तित करें?

  5. तालिका मूल्यवान पैरामीटर के साथ पायथन कॉल एसक्यूएल-सर्वर संग्रहीत प्रक्रिया