आपने हमें वह पूरा कोड नहीं दिखाया है जिसका उपयोग आप किसी डेटाबेस से कनेक्ट करने के लिए करते हैं, लेकिन एक टिप्पणी से दूसरे उत्तर में ऐसा लगता है कि आप 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));
}
}
}