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

क्या हमारे पास एक ही एएसपीनेट एप्लिकेशन में 2 अलग-अलग डेटाबेस से 2 अलग ओरेकल निर्भरता हो सकती है?

सबसे पहले यह चरण दर चरण मार्गदर्शिका आपकी समस्या का समाधान कर सकती है:Oracle निर्भरता गाइड

दूसरे, यह एक और काम है जिसका इस्तेमाल आप अपना काम करने के लिए कर सकते हैं।हाँ हो सकता है। आपकी डेटाबेस परत में 2 वर्ग होने चाहिए जो संबंधित डेटाबेस से जुड़ेंगे। साथ ही ExecuteReader का उपयोग न करें , इसके बजाय DataAdapter . का उपयोग करें क्योंकि यह कनेक्शन को हैंडल करता है। ओपन (), क्लोज (), डिस्पोजल () ही।

उदाहरण के लिए

DATABASE1.CS

public class Database1
{
    string sCon = string.Empty;
    OracleConnection OraCon;
    protected string query = string.Empty;
    public Database1()
    {
       sCon = "Data Source=(DESCRIPTION =(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST = 1.1.1.1)(PORT = 12345)))(CONNECT_DATA =(SID = SIDNAME)));User ID=username;Password=pass;";
       OraCon = new OracleConnection(sCon);
    }

    protected DataTable FillDataTableByParam(OracleParameter[] param)
    {
        DataTable oDT = new DataTable();
        OracleCommand OraCom = new OracleCommand(query, OraCon);
        OraCom.Parameters.AddRange(param);
        new OracleDataAdapter(OraCom).Fill(oDT);
        query = "";
        return oDT;
    }
}

DATABASE2.CS

public class Database2
{
    string sCon = string.Empty;
    OracleConnection OraCon;
    protected string query = string.Empty;
    public Database2()
    {
       sCon = "Data Source=(DESCRIPTION =(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST = 1.1.1.1)(PORT = 12345)))(CONNECT_DATA =(SID = SIDNAME2)));User ID=username;Password=pass;";
       OraCon = new OracleConnection(sCon);
    }

    protected DataTable FillDataTableByParam(OracleParameter[] param)
    {
        DataTable oDT = new DataTable();
        OracleCommand OraCom = new OracleCommand(query, OraCon);
        OraCom.Parameters.AddRange(param);
        new OracleDataAdapter(OraCom).Fill(oDT);
        query = "";
        return oDT;
    }
}

लेकिन आप अपने डेटाबेस लेयर में 1 वर्ग भी रख सकते हैं, जिससे यह 2 डेटाबेस के लिए सुलभ हो जाएगा, यह कुछ इस तरह दिखाई देगा:

public class DatabaseLayer
    {
        string sCon = string.Empty;
        OracleConnection OraCon;
        protected string query = string.Empty;
        public DatabaseLayer(string DataBaseSecureName)
        {
           if(DataBaseSecureName ==  "One")
           {
            sCon = "Data Source=(DESCRIPTION =(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST = 1.1.1.1)(PORT = 12345)))(CONNECT_DATA =(SID = SIDNAME)));User ID=username;Password=pass;";
           }
           else if (DataBaseSecureName ==  "Second")
           {
            sCon = "Data Source=(DESCRIPTION =(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST = 1.1.1.1)(PORT = 12345)))(CONNECT_DATA =(SID = SIDNAME2)));User ID=username;Password=pass;";
           }

           OraCon = new OracleConnection(sCon);
        }

        protected DataTable FillDataTableByParam(OracleParameter[] param)
        {
            DataTable oDT = new DataTable();
            OracleCommand OraCom = new OracleCommand(query, OraCon);
            OraCom.Parameters.AddRange(param);
            new OracleDataAdapter(OraCom).Fill(oDT);
            query = "";
            return oDT;
        }
    }

आप कनेक्शन के परिवर्तन पर अधिसूचना वापस करने के लिए तर्क के साथ ऊपर लिखी गई कक्षाओं/कक्षा में एक विधि जोड़ सकते हैं, और फिर इसे अपनी इच्छानुसार उपयोग कर सकते हैं।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मेमोरी में पूरी फाइल लोड किए बिना बीएलओबी (ओरेकल) में एक बड़ी फाइल कैसे डालें?

  2. CLOB कॉलम वाली चुनिंदा क्वेरी में डुप्लिकेट परिणाम हटा दें

  3. पहले 10 अप्रयुक्त मैन्युअल_अनुक्रम संख्याएँ प्राप्त करना

  4. मैं ऑरैकल में वर्कर 2 के रूप में पैरामीटर कैसे निकाल सकता हूं?

  5. Oracle जावा / JPA प्रोग्रामर के लिए खाली स्ट्रिंग को NULL समस्या के रूप में मानता है