ऐसा लगता है कि प्रबंधित ड्राइवर TNS नामों को हल करने में असमर्थ है। आपको यह सुनिश्चित करना चाहिए कि आपका कॉन्फ़िगरेशन सही है (देखें दस्तावेज़ीकरण )।
उदाहरण के लिए:
<oracle.manageddataaccess.client>
...
<settings>
...
<setting name="TNS_ADMIN" value="C:\path\where\TNSNAMESFILE\is"/>
...
</settings>
...
</oracle.manageddataaccess.client>
साथ ही, यदि आपको machine.config
. में पहले से परिभाषित नहीं है, तो आपको प्रदाता फ़ैक्टरी को कॉन्फ़िगर करने की आवश्यकता हो सकती है :
<system.data>
<DbProviderFactories>
<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.121.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />
</DbProviderFactories>
</system.data>
एक तरफ के रूप में, मैंने नोट किया कि आप Oracle.ManagedDataAccessDTC को प्रबंधित ड्राइवर के रूप में उल्लेख कर रहे हैं। कृपया ध्यान दें कि Oracle.ManagedDataAccessDTC वास्तव में वह घटक है जो वितरित लेनदेन के लिए समर्थन प्रदान करता है, जबकि मुख्य ड्राइवर असेंबली को "Oracle.ManagedDataAccess" कहा जाता है।