readme.txt 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220
  1. Oracle.ManagedDataAccess NuGet Package 19.7.0 README
  2. ====================================================
  3. Release Notes: Oracle Data Provider for .NET, Managed Driver
  4. February 2020
  5. This document provides information that supplements the Oracle Data Provider for .NET (ODP.NET) documentation.
  6. You have downloaded Oracle Data Provider for .NET from Oracle, the license agreement to which is available at
  7. https://www.oracle.com/downloads/licenses/distribution-license.html
  8. TABLE OF CONTENTS
  9. *New Features
  10. *Bug Fixes
  11. *Installation and Configuration Steps
  12. *Installation Changes
  13. *Documentation Corrections and Additions
  14. *ODP.NET, Managed Driver Tips, Limitations, and Known Issues
  15. Note: The 32-bit "Oracle Developer Tools for Visual Studio" download from https://otn.oracle.com/dotnet is
  16. required for Entity Framework design-time features and for other Visual Studio designers such as the
  17. TableAdapter Wizard. This NuGet download does not enable design-time tools; it only provides run-time support.
  18. This version of ODP.NET supports Oracle Database version 11.2 and higher.
  19. New Features
  20. ============
  21. 1. Websocket and Websocket with SSL/TLS
  22. Websocket is a protocol that offers full-duplex communication channels over a single TCP connection. WebSocket with SSL/TLS offers a secure WebSocket connection. WebSocket is an extension to HTTP and is able to work with HTTP proxies and intermediaries. Managed ODP.NET now supports Websocket and Websocket with SSL/TLS.
  23. 2. Connection String attributes: Tns_Admin and Wallet_Location
  24. Managed ODP.NET can now set the TNS admin directory and wallet location directory on the connection string.
  25. 3. SYSASM Privilege
  26. Oracle Automatic Storage Management (Oracle ASM) is a volume manager and a file system for Oracle database files. SYSASM is a system privilege that enables administrators to manage ASM instances. Managed ODP.NET can now connect using the SYSASM administrative privilege to perform storage management of the Oracle Database.
  27. Bug Fixes since Oracle.ManagedDataAccess NuGet Package 19.6.0
  28. =============================================================
  29. None
  30. Installation and Configuration Steps
  31. ====================================
  32. The downloads are NuGet packages that can be installed with the NuGet Package Manager. These instructions apply
  33. to install ODP.NET, Managed Driver.
  34. 1. Un-GAC and un-configure any existing assembly (i.e. Oracle.ManagedDataAccess.dll) and policy DLL
  35. (i.e. Policy.4.122.Oracle.ManagedDataAccess.dll) for the ODP.NET, Managed Driver, version 4.122.19.1
  36. that exist in the GAC. Remove all references of Oracle.ManagedDataAccess from machine.config file, if any exists.
  37. 2. In Visual Studio, open NuGet Package Manager from an existing Visual Studio project.
  38. 3. Install the NuGet package from an OTN-downloaded local package source or from nuget.org.
  39. From Local Package Source
  40. -------------------------
  41. A. Click on the Settings button in the lower left of the dialog box.
  42. B. Click the "+" button to add a package source. In the Source field, enter in the directory location where the
  43. NuGet package(s) were downloaded to. Click the Update button, then the Ok button.
  44. C. On the left side, under the Online root node, select the package source you just created. The ODP.NET NuGet
  45. packages will appear.
  46. From Nuget.org
  47. --------------
  48. A. In the Search box in the upper right, search for the package with id, "Oracle.ManagedDataAccess". Verify
  49. that the package uses this unique ID to ensure it is the official Oracle Data Provider for .NET, Managed Driver
  50. download.
  51. B. Select the package you wish to install.
  52. 4. Click on the Install button to select the desired NuGet package(s) to include with the project. Accept the
  53. license agreement and Visual Studio will continue the setup.
  54. 5. Open the app/web.config file to configure the ODP.NET connection string and connect descriptors.
  55. Below is an example of configuring the net service aliases and connect descriptors parameters:
  56. <oracle.manageddataaccess.client>
  57. <version number="*">
  58. <dataSources>
  59. <!-- Customize these connection alias settings to connect to Oracle DB -->
  60. <dataSource alias="MyDataSource" descriptor="(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=ORCL))) " />
  61. </dataSources>
  62. </version>
  63. </oracle.manageddataaccess.client>
  64. After following these instructions, ODP.NET is now configured and ready to use.
  65. IMPORTANT: Oracle recommends configuring net service aliases and connect descriptors in a .NET config file to
  66. have the application configuration be self-contained rather than using tnsnames.ora or TNS_ADMIN.
  67. NOTE: ODP.NET, Managed Driver comes with one set of platform specific assemblies for Kerberos support: Oracle.ManagedDataAccessIOP.dll.
  68. The Oracle.ManagedDataAccessIOP.dll assembly is ONLY needed if you are using Kerberos5 based external
  69. authentication. Kerberos5 users will need to download MIT Kerberos for Windows version 4.0.1 from
  70. https://web.mit.edu/kerberos/dist/
  71. to utilize ODP.NET, Managed Driver's support of Kerberos5.
  72. The asssemblies are located under
  73. packages\Oracle.ManagedDataAccess.<version>\bin\x64
  74. and
  75. packages\Oracle.ManagedDataAccess.<version>\bin\x86
  76. depending on the platform.
  77. If these assemblies are required by your application, your Visual Studio project requires additional changes.
  78. Use the following steps for your application to use the 64-bit version of Oracle.ManagedDataAccessIOP.dll:
  79. 1. Right click on the Visual Studio project.
  80. 2. Select Add -> New Folder.
  81. 3. Name the folder x64.
  82. 4. Right click on the newly created x64 folder.
  83. 5. Select Add -> Existing Item.
  84. 6. Browse to packages\Oracle.ManagedDataAccess.<version>\bin\x64 under your project solution directory.
  85. 7. Choose Oracle.ManagedDataAccessIOP.dll.
  86. 8. Click the 'Add' button.
  87. 9. Left click the newly added Oracle.ManagedDataAccessIOP.dll in the x64 folder.
  88. 10. In the properties window, set 'Copy To Output Directory' to 'Copy Always'.
  89. For x86 targeted applications, name the folder x86 and add assemblies from the
  90. packages\Oracle.ManagedDataAccess.<version>\bin\x86 folder.
  91. To make your application platform independent even if it depends on Oracle.ManagedDataAccessIOP.dll, create both x64 and x86 folders with the necessary assemblies added to them.
  92. Installation Changes
  93. ====================
  94. The following app/web.config entries are added by including the "Official Oracle ODP.NET, Managed Driver" NuGet package
  95. to your application:
  96. 1) Configuration Section Handler
  97. The following entry is added to the app/web.config to enable applications to add an <oracle.manageddataaccess.client>
  98. section for ODP.NET, Managed Driver-specific configuration:
  99. <configuration>
  100. <configSections>
  101. <section name="oracle.manageddataaccess.client" type="OracleInternal.Common.ODPMSectionHandler, Oracle.ManagedDataAccess, Version=4.122.19.1, Culture=neutral, PublicKeyToken=89b483f429c47342" />
  102. </configSections>
  103. </configuration>
  104. Note: If your application is a web application and the above entry was added to a web.config and the same config
  105. section handler for "oracle.manageddataaccess.client" also exists in machine.config but the "Version" attribute values
  106. are different, an error message of "There is a duplicate 'oracle.manageddataaccess.client' section defined." may be
  107. observed at runtime. If so, the config section handler entry in the machine.config for
  108. "oracle.manageddataaccess.client" has to be removed from the machine.config for the web application to not encounter
  109. this error. But given that there may be other applications on the machine that depended on this entry in the
  110. machine.config, this config section handler entry may need to be moved to all of the application's .NET config file on
  111. that machine that depend on it.
  112. 2) DbProviderFactories
  113. The following entry is added for applications that use DbProviderFactories and DbProviderFactory classes. Also, any
  114. DbProviderFactories entry for "Oracle.ManagedDataAccess.Client" in the machine.config will be ignored with the following
  115. entry:
  116. <configuration>
  117. <system.data>
  118. <DbProviderFactories>
  119. <remove invariant="Oracle.ManagedDataAccess.Client" />
  120. <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.122.19.1, Culture=neutral, PublicKeyToken=89b483f429c47342" />
  121. </DbProviderFactories>
  122. </system.data>
  123. </configuration>
  124. 3) Dependent Assembly
  125. The following entry is created to ignore policy DLLs for Oracle.ManagedDataAccess.dll and always use the
  126. Oracle.ManagedDataAccess.dll version that is specified by the newVersion attribute in the <bindingRedirect> element.
  127. The newVersion attribute corresponds to the Oracle.ManagedDataAccess.dll version which came with the NuGet package
  128. associated with the application.
  129. <configuration>
  130. <runtime>
  131. <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
  132. <dependentAssembly>
  133. <publisherPolicy apply="no" />
  134. <assemblyIdentity name="Oracle.ManagedDataAccess" publicKeyToken="89b483f429c47342" culture="neutral" />
  135. <bindingRedirect oldVersion="4.122.0.0 - 4.65535.65535.65535" newVersion="4.122.19.1" />
  136. </dependentAssembly>
  137. </assemblyBinding>
  138. </runtime>
  139. </configuration>
  140. 4) Data Sources
  141. The following entry is added to provide a template on how a data source can be configured in the app/web.config.
  142. Simply rename "MyDataSource" to an alias of your liking and modify the PROTOCOL, HOST, PORT, SERVICE_NAME as required
  143. and un-comment the <dataSource> element. Once that is done, the alias can be used as the "data source" attribute in
  144. your connection string when connecting to an Oracle Database through ODP.NET, Managed Driver.
  145. <configuration>
  146. <oracle.manageddataaccess.client>
  147. <version number="*">
  148. <dataSources>
  149. <dataSource alias="SampleDataSource" descriptor="(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=ORCL))) " />
  150. </dataSources>
  151. </version>
  152. </oracle.manageddataaccess.client>
  153. </configuration>
  154. Documentation Corrections and Additions
  155. =======================================
  156. None
  157. ODP.NET, Managed Driver Tips, Limitations, and Known Issues
  158. ===========================================================
  159. None
  160. Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved.