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

Entity Framework के साथ स्थापना के बिना काम करने के लिए ODP.NET को परिनियोजित और कॉन्फ़िगर करना

यह उत्तर सभी आवश्यक चरणों का सार (उम्मीद है) सारांशित करता है, जिनमें से कई ऑनलाइन विभिन्न स्थानों पर प्रलेखित हैं और किसी को गुगलिंग के घंटे बचा सकते हैं।

A. Oracle.DataAccess.Client को कैसे परिनियोजित और कॉन्फ़िगर करें।

ए.1 ODAC112030Xcopy_64bit.zip या ODAC112030Xcopy_32bit.zip डाउनलोड करें।

ए.1.1. ज़िप फ़ाइल में निम्नलिखित फ़ोल्डर की सामग्री को अपने एप्लिकेशन/होस्ट के बिन/सेटअप फ़ोल्डर में निकालें:

ए.1.1.1. झटपट क्लाइंट_11_2

ए.1.1.2. odp.net4\bin\

ए.1.1.3. odp.net4\odp.net\bin\

ए.1.1.4. odp.net4\odp.net\PublisherPolicy\4\

ए.2. अपने एप्लिकेशन/होस्ट के app.config/web.config की शुरुआत में निम्न अनुभाग जोड़ें (यदि आपके पास पहले से configSections तत्व है, तो इसमें अनुभाग जोड़ें:

<configSections>
  <section name="oracle.dataaccess.client"
    type="System.Data.Common.DbProviderConfigurationHandler, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
</configSections>

ए.3. निम्नलिखित अनुभागों को अपने एप्लिकेशन/होस्ट के app.config/web.config के अंत में जोड़ें:

ए.4. ODAC112030Xcopy के फोल्डर से चलाएँ:

configure.bat odp.net4 somename

मैं ऊपर दिए गए "somename" के रूप में oraclehome112030_32 या oraclehome112030_64 का उपयोग करने की अनुशंसा करता हूं।

<system.data>
  <DbProviderFactories>
    <!-- Remove in case this is already defined in machine.config -->
    <remove invariant="Oracle.DataAccess.Client" />
    <add name="Oracle Data Provider for .NET"
         invariant="Oracle.DataAccess.Client"
         description="Oracle Data Provider for .NET"
         type="Oracle.DataAccess.Client.OracleClientFactory, Oracle.DataAccess, Version=4.112.3.0, Culture=neutral, PublicKeyToken=89b483f429c47342"/>
  </DbProviderFactories>
</system.data>

<oracle.dataaccess.client>
  <settings>
    <add name="bool" value="edmmapping number(1,0)" />
    <add name="byte" value="edmmapping number(3,0)" />
    <add name="int16" value="edmmapping number(5,0)" />
    <add name="int32" value="edmmapping number(10,0)" />
    <add name="int64" value="edmmapping number(19,0)" />
    <add name="int16" value="edmmapping number(38,0)" />
    <add name="int32" value="edmmapping number(38,0)" />
    <add name="int64" value="edmmapping number(38,0)" />
  </settings>
</oracle.dataaccess.client>



B. Oracle.ManagedDataAccess.Client को कैसे परिनियोजित और कॉन्फ़िगर करें।

बी.1 ODP.NET_Managed_1120350_Beta.zip डाउनलोड करें

बी.1.1. निम्न फ़ाइलों को अपने एप्लिकेशन/होस्ट के बिन/सेटअप फ़ोल्डर में निकालें।

बी.1.1.1. Oracle.ManagedDataAccess.dll

बी.1.1.2। x64\Oracle.ManagedDataAccessDTC.dll या x86\Oracle.ManagedDataAccessDTC.dll

बी.2. अपने एप्लिकेशन/होस्ट के app.config/web.config की शुरुआत में निम्न अनुभाग जोड़ें (यदि आपके पास पहले से configSections तत्व है, तो इसमें अनुभाग जोड़ें:

<configSections>
  <section name="oracle.manageddataaccess.client"
    type="OracleInternal.Common.ODPMSectionHandler, Oracle.ManagedDataAccess, Version=4.112.3.50, Culture=neutral, PublicKeyToken=89b483f429c47342" />
</configSections>

बी.3. निम्नलिखित अनुभागों को अपने एप्लिकेशन/होस्ट के app.config/web.config के अंत में जोड़ें:

<system.data>
  <DbProviderFactories>
    <!-- Remove in case this is already defined in machine.config -->
    <remove invariant="Oracle.ManagedDataAccess.Client" />
    <add name="ODP.NET, Managed Driver"
         invariant="Oracle.ManagedDataAccess.Client"
         description="Oracle Data Provider for .NET, Managed Driver"
         type="Oracle.ManagedDataAccess.Client.OracleClientFactory, Oracle.ManagedDataAccess, Version=4.112.3.50, Culture=neutral, PublicKeyToken=89b483f429c47342" />
  </DbProviderFactories>
</system.data>

<oracle.manageddataaccess.client>
  <version number="*">
    <settings>
      <!-- Set this path if you are using TNS aliases as connection strings (not recommended) -->
      <!-- Instead you can use "SERVER_NAME:PORT/SERVICE_NAME" as your data source -->
      <setting name="TNS_ADMIN" value="C:\"/>
    </settings>
    <edmMappings>
      <edmMapping dataType="number">
        <add name="bool" precision="1"/>
        <add name="byte" precision="2" />
        <add name="int16" precision="5" />
      </edmMapping>
    </edmMappings>
  </version>
</oracle.manageddataaccess.client>



सी. भवन के लिए:

सी.1 इस अनुभाग को अपने ईडीएमएक्स के एसेंबली के app.config में जोड़ें:

(Oracle के साथ यह कोशिश नहीं की है।प्रबंधित DataAccess.Client अभी तक)

<oracle.dataaccess.client>
  <settings>
    <add name="bool" value="edmmapping number(1,0)" />
    <add name="byte" value="edmmapping number(3,0)" />
    <add name="int16" value="edmmapping number(5,0)" />
    <add name="int32" value="edmmapping number(10,0)" />
    <add name="int64" value="edmmapping number(19,0)" />
    <add name="int16" value="edmmapping number(38,0)" />
    <add name="int32" value="edmmapping number(38,0)" />
    <add name="int64" value="edmmapping number(38,0)" />
  </settings>
</oracle.dataaccess.client>

सी.2. सामग्री के साथ उसी असेंबली में Oracle.xsd नाम की एक फ़ाइल जोड़ें:

<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="odpnetappconfigmappings" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:complexType name="addtype">
    <xs:attribute name="name" type="xs:string" />
    <xs:attribute name="value" type="xs:string" />
  </xs:complexType>

  <xs:complexType name="settingstype">
    <xs:sequence minOccurs="0" maxOccurs="unbounded">
      <xs:element name="add" type="addtype" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="oracledataaccessclienttype">
    <xs:sequence minOccurs="0" maxOccurs="1">
      <xs:element name="settings" type="settingstype" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="oracle.dataaccess.client" type="oracledataaccessclienttype" />

</xs:schema>

सी.3. उपरोक्त XSD को उपरोक्त app.config की स्कीमा की सूची में जोड़ें।

सी.4. यदि बिल्ड के सफल होने के बावजूद आपको बिल्ड के दौरान बूलियन मैपिंग के लिए त्रुटियाँ मिल रही हैं, तो Visual Studio के devenv.exe.config में app.config मैपिंग जोड़ें।

सी.5. यदि आप Oracle.ManagedDataAccess.Client का उपयोग करना चाहते हैं, तो निर्माण से पहले मैन्युअल रूप से ईडीएमएक्स में डेटा प्रदाता विशेषता संपादित करें (मैंने यह कोशिश नहीं की है) या रन टाइम पर संदर्भ के निर्माण से पहले इसे संपादित करें और एमएसएसएल को संपादित प्रति से लोड करें। संसाधन (यह काम करता प्रतीत होता है और मैं यह चुनने के लिए एक समान चाल का भी उपयोग करता हूं कि विभिन्न डीबी प्रदाताओं के लिए कौन सा एमएसएसएल लोड करना है)।



D. डिज़ाइनर सहायता के लिए:

डी.1 win64_11gR2_client.zip या win32_11gR2_client.zip डाउनलोड करें और इंस्टॉल करें।

डी.1.1. स्थापना के प्रकार के रूप में "व्यवस्थापक" चुनें।

डी.2. ODT डाउनलोड करें और इंस्टॉल करें।



मैंने इसे (ए और बी) विंडोज 7 x64 के साथ एक खाली मशीन (वीएम) पर आजमाया।

यह प्रक्रिया Oracle.DataAccess.Client के x86 संस्करण के साथ Windows x64 पर काम नहीं करती है।

यह प्रक्रिया Oracle.DataAccess.Client के x64 संस्करण के साथ Windows x64 पर और Oracle.ManagedDataAccess.Client के दोनों संस्करणों के साथ काम करती प्रतीत होती है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ORA-01658:टेबलस्पेस में सेगमेंट के लिए प्रारंभिक सीमा बनाने में असमर्थ TS_DATA

  2. जब हमारे पास डेटागार्ड हो तो फ्लैशबैक कैसे करें

  3. Oracle डायनेमिक DESC और ASC क्रम में

  4. CONCAT () Oracle में फंक्शन

  5. बेस 36 से बेस 10 रूपांतरण केवल SQL का उपयोग करके