आप इसे पदावनत System.Data.OracleClient लेकिन आप oracle's ODP का उपयोग कर सकते हैं यूडीटी का उपयोग करके। यदि वह विकल्प नहीं है, तो मुझे यकीन नहीं है कि आप सिस्टम.डेटा के साथ सी # में पैरामीटर के माध्यम से इसे कैसे कर सकते हैं।
ODP बहुत सारे उदाहरणों के साथ आता है और उपरोक्त लिंक में उदाहरण हैं।
मैं कुछ और लिंक जोड़ने जा रहा हूँ जो उम्मीद से मदद करेंगे:
- विज़ुअल स्टूडियो ODP अनुक्रमणिका
- यह आपको सटीक रूप से दिखाता है कि आपको कस्टम क्लास रैपर बनाने और उन्हें कॉल करने के लिए ODT का उपयोग कैसे करना है (ध्यान दें कि यह बीच में है, वे उदाहरण में इसके ऊपर कस्टम प्रकार बनाने के लिए टूल का उपयोग करके चलते हैं - यह वॉकथ्रू पूरी तरह से है और आपको सीधे वहां जाना चाहिए जहां आपको होना चाहिए)
- डाउनलोड करें :अब यह आदमी नमूना फ़ाइलें भी स्थापित करता है, यह वास्तव में आपको क्या करने की आवश्यकता का एक और बढ़िया उदाहरण है:एक बार स्थापित होने के बाद [निर्देशिका पथ जिसे आप स्थापित करते हैं]..\product\11.2.0\client_1\odp.net\samples\4\UDT\object1.cs
यह वास्तव में विजुअल स्टूडियो के लिए ओडीटी टूल्स को आपके यूडीटी के लिए आपकी कक्षाएं बनाने की अनुमति देता है (उदाहरण के लिए IOracleCustomType और ऐसे)। फिर आप उनमें जा सकते हैं और अपनी आवश्यकताओं के अनुरूप उनमें संशोधन कर सकते हैं। फिर एक बार सब कुछ कहा और किया जाता है (ऑब्जेक्ट1.cs से स्निपेट):
Person p1 = new Person();
p1.Name = "John";
p1.Address = "Address1";
p1.Age = 20;
// Establish a connection to Oracle
OracleConnection con = new OracleConnection(constr);
con.Open();
// Update Person object and insert it into a database table
OracleCommand cmd = new OracleCommand(sql1, con);
cmd.CommandType = CommandType.StoredProcedure;
OracleParameter param1 = new OracleParameter();
param1.OracleDbType = OracleDbType.Object;
param1.Direction = ParameterDirection.InputOutput;
// Note: The UdtTypeName is case-senstive
param1.UdtTypeName = "SCOTT.ODP_OBJ1_SAMPLE_PERSON_TYPE";
param1.Value = p1;
cmd.Parameters.Add(param1);
यह भी ध्यान दें कि व्यक्ति वर्ग को IOracleCustomType implement लागू करना होगा (जिसे #2 में दिए गए लिंक का अनुसरण करके बनाया जा सकता है)
/* Person Class
An instance of a Person class represents an ODP_OBJ1_SAMPLE_PERSON_TYPE object
A custom type must implement INullable and IOracleCustomType interfaces
*/
public class Person : INullable, IOracleCustomType
उपरोक्त एक पूर्ण कस्टम प्रकार के लिए है, लेकिन आप एक सहयोगी सरणी ODP बाइंडिंग के बाद हैं:
http://weblogs.asp .net/ricardoperes/archive/2009/05/14/odp-net-associative-arrays.aspx
आप उपयोग करना चाहेंगे
param1.CollectionType = OracleCollectionType.PLSQLAssociativeArray;
और सब कुछ ठीक हो जाना चाहिए