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

Oracle डेटाबेस TNS कुंजी 'डेटा स्रोत' के लिए मान की लंबाई '128' की सीमा से अधिक है

आपने हमें वह पूरा कोड नहीं दिखाया है जिसका उपयोग आप किसी डेटाबेस से कनेक्ट करने के लिए करते हैं, लेकिन एक टिप्पणी से दूसरे उत्तर में ऐसा लगता है कि आप OLE DB का उपयोग कर रहे हैं। मैं इसका उपयोग करने से बचूंगा, खासकर अगर ऐसा लगता है कि डेटा स्रोत के लिए 128 वर्णों की कुछ हद तक मनमानी सीमा है।

मैं यह भी बताऊंगा कि आप किसी अन्य उत्तरदाता द्वारा अनुशंसित ओरेकल क्लाइंट को स्थापित करने से भी बच सकते हैं। मेरे पास 'तत्काल' क्लाइंट के साथ अधिक अनुभव नहीं है, लेकिन पूर्ण क्लाइंट एक भारी डाउनलोड है और केवल सी# प्रोग्राम को Oracle से कनेक्ट करने में सक्षम होने के लिए आवश्यक नहीं है।

इसके बजाय, हम Oracle प्रबंधित डेटा एक्सेस लाइब्रेरी का उपयोग कर सकते हैं। आप इसे NuGet का उपयोग करके इंस्टॉल कर सकते हैं। ऐसा करने के लिए:

  • टूल्स> लाइब्रेरी पैकेज मैनेजर> पैकेज मैनेजर कंसोल पर जाएं,
  • सुनिश्चित करें कि 'डिफ़ॉल्ट प्रोजेक्ट' ड्रॉप-डाउन सूची में सही प्रोजेक्ट चुना गया है,
  • दर्ज करें

    Install-Package odp.net.managed
    

यह NuGet से डाउनलोड लाइब्रेरी को जोड़ना चाहिए और Oracle.ManagedDataAccess को अपने प्रोजेक्ट के संदर्भों में जोड़ना चाहिए।

फिर, यदि आप एक using . जोड़ते हैं Oracle.ManagedDataAccess.Client . के लिए निर्देश , निम्नलिखित कोड को Oracle डेटाबेस से बात करनी चाहिए:

string connStr = "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=<hostname>)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=<service_name>)));User Id=<user>;Password=<password>";
Console.WriteLine("Connection string has length " + connStr.Length);
using (var connection = new OracleConnection() { ConnectionString = connStr })
{
    connection.Open();
    OracleCommand command = new OracleCommand("SELECT * FROM DUAL", connection);
    using (OracleDataReader reader = command.ExecuteReader())
    {
        while (reader.Read())
        {
            Console.WriteLine(reader.GetString(0));
        }
    }
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. पैकेज बनाने का प्रयास - त्रुटि PLS-00330

  2. दो तालिकाओं में शामिल होना SQL

  3. Oracle क्लाउड प्लेटफ़ॉर्म पर Oracle डेटाबेस 12c के साथ Oracle JDeveloper 12c का उपयोग करना, भाग 1

  4. विशेष वर्ण लोड करने के लिए nzload का उपयोग करना

  5. SQL कीमिया के माध्यम से Oracle के लिए पांडा:UnicodeEncodeError:'ascii' कोडेक वर्ण को सांकेतिक शब्दों में बदलना नहीं कर सकता