h-you / branches / ddl / DataConert / packages / Oracle.ManagedDataAccess.12.1.24160719 / readme.txt @ 141
履歴 | 表示 | アノテート | ダウンロード (13.3 KB)
| 1 | 84 | h-you | Oracle.ManagedDataAccess NuGet Package 12.1.24160719 README |
|---|---|---|---|
| 2 | =========================================================== |
||
| 3 | |||
| 4 | Release Notes: Oracle Data Provider for .NET, Managed Driver |
||
| 5 | |||
| 6 | September 2016 |
||
| 7 | |||
| 8 | Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved. |
||
| 9 | |||
| 10 | This document provides information that supplements the Oracle Data Provider for .NET (ODP.NET) documentation. |
||
| 11 | You have downloaded Oracle Data Provider for .NET from Oracle, the license agreement to which is available at |
||
| 12 | http://www.oracle.com/technetwork/licenses/distribution-license-152002.html |
||
| 13 | |||
| 14 | TABLE OF CONTENTS |
||
| 15 | *New Features |
||
| 16 | *Bug Fixes |
||
| 17 | *Installation and Configuration Steps |
||
| 18 | *Installation Changes |
||
| 19 | *Documentation Corrections and Additions |
||
| 20 | *ODP.NET, Managed Driver Tips, Limitations, and Known Issues |
||
| 21 | |||
| 22 | Note: The 32-bit "Oracle Developer Tools for Visual Studio" download from http://otn.oracle.com/dotnet is |
||
| 23 | required for Entity Framework design-time features and for other Visual Studio designers such as the |
||
| 24 | TableAdapter Wizard. This NuGet download does not enable design-time tools; it only provides run-time support. |
||
| 25 | This version of ODP.NET supports Oracle Database version 10.2 and higher. |
||
| 26 | |||
| 27 | |||
| 28 | |||
| 29 | New Features since Oracle.ManagedDataAccess NuGet Package 12.1.24160419 |
||
| 30 | ======================================================================= |
||
| 31 | 1. ODP.NET can connect to Oracle Database Exadata Express Cloud Service using the following instructions. |
||
| 32 | http://www.oracle.com/technetwork/topics/dotnet/tech-info/dotnetcloudexaexpress-3112654.html |
||
| 33 | |||
| 34 | |||
| 35 | Bug Fixes since Oracle.ManagedDataAccess NuGet Package 12.1.24160419 |
||
| 36 | ==================================================================== |
||
| 37 | |||
| 38 | 21111355 LDAP: CONNECTION PERFORMANCE ISSUE WITH LDAP CONFIGURATION |
||
| 39 | 22652577 CHECKSUM: HIT "ORA-12599" WHILE IT SHOULD BE "ORA-01013" AFTER CANCEL COMMAND |
||
| 40 | 22936067 ODPMANAGED SSL DOESN'T SUPPORT DN MATCHING |
||
| 41 | 22995665 ODPM - INCORRECT VALUE OF DATACOLUMN'S READONLY PROPERTY |
||
| 42 | 23040870 ODPM DOES NOT HANDLE PROMOTION PROPERLY |
||
| 43 | 23059650 SSL: NTS DOESN'T WORK WITH SQLNET.AUTHENTICATION_SERVICES=(NTS,TCPS) |
||
| 44 | 23102388 ORA-01461: CAN BIND A LONG VALUE ONLY FOR INSERT INTO A LONG COLUMN MANAGED ODP |
||
| 45 | 23135026 TTC_HARDEN: BEHAVIOR DIFFERENCE FOR TRANSACTION RESTRICTION IN ODPU&ODPM |
||
| 46 | 23136980 ODPM: ADAPTER FILL FAIL WITH XMLTYPE WHEN RETURNPROVIDERSPECIFICTYPES=TRUE |
||
| 47 | 23168763 REFCURSORS IN OUTPUT ARRAY BIND DO NOT RETURN ANY ROWS |
||
| 48 | 23263802 ODPM: CONNECTION IS NOT LOCKED BEFORE DOING COMMIT/ROLLBACK RPC FOR LOCAL TXN |
||
| 49 | 23265098 IMPLICITLY RETURNED RESULTSET MISSING VALID REFCURSOR WHEN CONTAINS EMPTY REFCUR |
||
| 50 | 23317774 ODPM : CURSORS NOT FREED WHEN THE CONNECTION IS BEING CLOSED |
||
| 51 | 23323754 ODPM: CONNECTIONS DO NOT DRAIN PROPERLY IN DTXN/HA SCENARIO |
||
| 52 | 23342504 ORA-03137: MALFORMED TTC PACKET FROM CLIENT REJECTED |
||
| 53 | 23559078 ODPM: UOPF_BER FLAG SHOULD NOT BE SET FOR NON-DML ARRAY BIND OPERATIONS |
||
| 54 | |||
| 55 | |||
| 56 | Installation and Configuration Steps |
||
| 57 | ==================================== |
||
| 58 | The downloads are NuGet packages that can be installed with the NuGet Package Manager. These instructions apply |
||
| 59 | to install ODP.NET, Managed Driver. |
||
| 60 | |||
| 61 | 1. Un-GAC and un-configure any existing assembly (i.e. Oracle.ManagedDataAccess.dll) and policy DLL |
||
| 62 | (i.e. Policy.4.121.Oracle.ManagedDataAccess.dll) for the ODP.NET, Managed Driver, version 12.1.0.2 |
||
| 63 | that exist in the GAC. Remove all references of Oracle.ManagedDataAccess from machine.config file, if any exists. |
||
| 64 | |||
| 65 | 2. In Visual Studio 2010, 2012, 2013, or 2015 open NuGet Package Manager from an existing Visual Studio project. |
||
| 66 | |||
| 67 | 3. Install the NuGet package from an OTN-downloaded local package source or from nuget.org. |
||
| 68 | |||
| 69 | |||
| 70 | From Local Package Source |
||
| 71 | ------------------------- |
||
| 72 | A. Click on the Settings button in the lower left of the dialog box. |
||
| 73 | |||
| 74 | B. Click the "+" button to add a package source. In the Source field, enter in the directory location where the |
||
| 75 | NuGet package(s) were downloaded to. Click the Update button, then the Ok button. |
||
| 76 | |||
| 77 | C. On the left side, under the Online root node, select the package source you just created. The ODP.NET NuGet |
||
| 78 | packages will appear. |
||
| 79 | |||
| 80 | |||
| 81 | From Nuget.org |
||
| 82 | -------------- |
||
| 83 | A. In the Search box in the upper right, search for the package with id, "Oracle.ManagedDataAccess". Verify |
||
| 84 | that the package uses this unique ID to ensure it is the official Oracle Data Provider for .NET, Managed Driver |
||
| 85 | download. |
||
| 86 | |||
| 87 | B. Select the package you wish to install. |
||
| 88 | |||
| 89 | |||
| 90 | 4. Click on the Install button to select the desired NuGet package(s) to include with the project. Accept the |
||
| 91 | license agreement and Visual Studio will continue the setup. |
||
| 92 | |||
| 93 | 5. Open the app/web.config file to configure the ODP.NET connection string and local naming parameters |
||
| 94 | (i.e. tnsnames.ora). Below is an example of configuring the local naming parameters: |
||
| 95 | |||
| 96 | <oracle.manageddataaccess.client> |
||
| 97 | <version number="*"> |
||
| 98 | <dataSources> |
||
| 99 | <!-- Customize these connection alias settings to connect to Oracle DB --> |
||
| 100 | <dataSource alias="MyDataSource" descriptor="(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=ORCL))) " /> |
||
| 101 | </dataSources> |
||
| 102 | </version> |
||
| 103 | </oracle.manageddataaccess.client> |
||
| 104 | |||
| 105 | After following these instructions, ODP.NET is now configured and ready to use. |
||
| 106 | |||
| 107 | NOTE: ODP.NET, Managed Driver comes with two platform specific assemblies: |
||
| 108 | |||
| 109 | i. Oracle.ManagedDataAccessDTC.dll (for Distributed Transaction Support) |
||
| 110 | ii. Oracle.ManagedDataAccessIOP.dll (for Kerberos Support) |
||
| 111 | |||
| 112 | The Oracle.ManagedDataAccessDTC.dll assembly is ONLY needed if you are using Distributed Trasactions and the |
||
| 113 | .NET Framework being used is 4.5.1 or lower. If you are using .NET Framework 4.5.2 or higher, this assembly does |
||
| 114 | not need to be referenced by your application. |
||
| 115 | |||
| 116 | The Oracle.ManagedDataAccessIOP.dll assembly is ONLY needed if you are using Kerberos5 based external |
||
| 117 | authentication. Kerberos5 users will need to download MIT Kerberos for Windows version 4.0.1 from |
||
| 118 | http://web.mit.edu/kerberos/dist/ |
||
| 119 | to utilize ODP.NET, Managed Driver's support of Kerberos5. |
||
| 120 | |||
| 121 | These asssemblies are located under |
||
| 122 | packages\Oracle.ManagedDataAccess.<version>\bin\x64 |
||
| 123 | and |
||
| 124 | packages\Oracle.ManagedDataAccess.<version>\bin\x86 |
||
| 125 | depending on the platform. |
||
| 126 | |||
| 127 | If these assemblies are required by your application, your Visual Studio project requires additional changes. |
||
| 128 | |||
| 129 | Use the following steps for your application to use the 64-bit version of Oracle.ManagedDataAccessDTC.dll: |
||
| 130 | |||
| 131 | 1. Right click on the Visual Studio project. |
||
| 132 | 2. Select Add -> New Folder |
||
| 133 | 3. Name the folder x64. |
||
| 134 | 4. Right click on the newly created x64 folder |
||
| 135 | 5. Select Add -> Existing Item |
||
| 136 | 6. Browse to packages\Oracle.ManagedDataAccess.<version>\bin\x64 under your project solution directory. |
||
| 137 | 7. Choose Oracle.ManagedDataAccessDTC.dll |
||
| 138 | 8. Click the 'Add' button |
||
| 139 | 9. Left click the newly added Oracle.ManagedDataAccessDTC.dll in the x64 folder |
||
| 140 | 10. In the properties window, set 'Copy To Output Directory' to 'Copy Always'. |
||
| 141 | |||
| 142 | For x86 targeted applications, name the folder x86 and add assemblies from the |
||
| 143 | packages\Oracle.ManagedDataAccess.<version>\bin\x86 folder. |
||
| 144 | |||
| 145 | Use the same steps for adding Oracle.ManagedDataAccessIOP.dll. |
||
| 146 | |||
| 147 | To make your application platform independent even if it depends on Oracle.ManagedDataAccessDTC.dll and/or |
||
| 148 | Oracle.ManagedDataAccessIOP.dll, create both x64 and x86 folders with the necessary assemblies added to them. |
||
| 149 | |||
| 150 | |||
| 151 | |||
| 152 | Installation Changes |
||
| 153 | ==================== |
||
| 154 | The following app/web.config entries are added by including the "Official Oracle ODP.NET, Managed Driver" NuGet package |
||
| 155 | to your application: |
||
| 156 | |||
| 157 | 1) Configuration Section Handler |
||
| 158 | |||
| 159 | The following entry is added to the app/web.config to enable applications to add an <oracle.manageddataaccess.client> |
||
| 160 | section for ODP.NET, Managed Driver-specific configuration: |
||
| 161 | |||
| 162 | <configuration> |
||
| 163 | <configSections> |
||
| 164 | <section name="oracle.manageddataaccess.client" type="OracleInternal.Common.ODPMSectionHandler, Oracle.ManagedDataAccess, Version=4.121.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342" /> |
||
| 165 | </configSections> |
||
| 166 | </configuration> |
||
| 167 | |||
| 168 | Note: If your application is a web application and the above entry was added to a web.config and the same config |
||
| 169 | section handler for "oracle.manageddataaccess.client" also exists in machine.config but the "Version" attribute values |
||
| 170 | are different, an error message of "There is a duplicate 'oracle.manageddataaccess.client' section defined." may be |
||
| 171 | observed at runtime. If so, the config section handler entry in the machine.config for |
||
| 172 | "oracle.manageddataaccess.client" has to be removed from the machine.config for the web application to not encounter |
||
| 173 | this error. But given that there may be other applications on the machine that depended on this entry in the |
||
| 174 | machine.config, this config section handler entry may need to be moved to all of the application's .NET config file on |
||
| 175 | that machine that depend on it. |
||
| 176 | |||
| 177 | 2) DbProviderFactories |
||
| 178 | |||
| 179 | The following entry is added for applications that use DbProviderFactories and DbProviderFactory classes. Also, any |
||
| 180 | DbProviderFactories entry for "Oracle.ManagedDataAccess.Client" in the machine.config will be ignored with the following |
||
| 181 | entry: |
||
| 182 | |||
| 183 | <configuration> |
||
| 184 | <system.data> |
||
| 185 | <DbProviderFactories> |
||
| 186 | <remove invariant="Oracle.ManagedDataAccess.Client" /> |
||
| 187 | <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.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342" /> |
||
| 188 | </DbProviderFactories> |
||
| 189 | </system.data> |
||
| 190 | </configuration> |
||
| 191 | |||
| 192 | 3) Dependent Assembly |
||
| 193 | |||
| 194 | The following entry is created to ignore policy DLLs for Oracle.ManagedDataAccess.dll and always use the |
||
| 195 | Oracle.ManagedDataAccess.dll version that is specified by the newVersion attribute in the <bindingRedirect> element. |
||
| 196 | The newVersion attribute corresponds to the Oracle.ManagedDataAccess.dll version which came with the NuGet package |
||
| 197 | associated with the application. |
||
| 198 | |||
| 199 | <configuration> |
||
| 200 | <runtime> |
||
| 201 | <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> |
||
| 202 | <dependentAssembly> |
||
| 203 | <publisherPolicy apply="no" /> |
||
| 204 | <assemblyIdentity name="Oracle.ManagedDataAccess" publicKeyToken="89b483f429c47342" culture="neutral" /> |
||
| 205 | <bindingRedirect oldVersion="4.121.0.0 - 4.65535.65535.65535" newVersion="4.121.2.0" /> |
||
| 206 | </dependentAssembly> |
||
| 207 | </assemblyBinding> |
||
| 208 | </runtime> |
||
| 209 | </configuration> |
||
| 210 | |||
| 211 | 4) Data Sources |
||
| 212 | |||
| 213 | The following entry is added to provide a template on how a data source can be configured in the app/web.config. |
||
| 214 | Simply rename "MyDataSource" to an alias of your liking and modify the PROTOCOL, HOST, PORT, SERVICE_NAME as required |
||
| 215 | and un-comment the <dataSource> element. Once that is done, the alias can be used as the "data source" attribute in |
||
| 216 | your connection string when connecting to an Oracle Database through ODP.NET, Managed Driver. |
||
| 217 | |||
| 218 | <configuration> |
||
| 219 | <oracle.manageddataaccess.client> |
||
| 220 | <version number="*"> |
||
| 221 | <dataSources> |
||
| 222 | <dataSource alias="SampleDataSource" descriptor="(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=ORCL))) " /> |
||
| 223 | </dataSources> |
||
| 224 | </version> |
||
| 225 | </oracle.manageddataaccess.client> |
||
| 226 | </configuration> |
||
| 227 | |||
| 228 | |||
| 229 | |||
| 230 | Documentation Corrections and Additions |
||
| 231 | ======================================= |
||
| 232 | This section contains information that corrects or adds to existing ODP.NET documentation, which can be found here: |
||
| 233 | http://www.oracle.com/technetwork/topics/dotnet/tech-info/index.html |
||
| 234 | |||
| 235 | 1. ODP.NET Entity Framework Database First and Model First applications using Entity Framework 6 requires .NET |
||
| 236 | Framework 4.5 or higher. |
||
| 237 | |||
| 238 | 2. All Oracle database clients support interrupting database query execution, such as through an ODP.NET command |
||
| 239 | timeout. The database server can be interrupted via either TCP/IP urgent data or normal TCP/IP data, called out of band |
||
| 240 | (OOB) or in band data, respectively. Windows-based database servers only support in band breaks, whereas all other |
||
| 241 | (predominantly UNIX-based) database servers can support OOB or in band breaks. ODP.NET, Managed Driver uses OOB breaks |
||
| 242 | by default with database servers that support it. For certain network topologies, the routers or firewalls involved in |
||
| 243 | the route to the database may have been configured to drop urgent data or in band the data. If the routers or firewalls |
||
| 244 | can not be changed to handle urgent data appropriately, then the ODP.NET, Managed Driver can be configured to utilize |
||
| 245 | in band breaks by setting the .NET configuration parameter disable_oob to "on". The default value for disable_oob is |
||
| 246 | "off". disable_oob can be set in the <settings> of the .NET config file for <oracle.manageddataaccess.client>. As with |
||
| 247 | all ODP.NET, Managed Driver settings, disable_oob can be set in either the .NET config or sqlnet.ora files, whereas it |
||
| 248 | can only be set for ODP.NET, Unmanaged Driver in the sqlnet.ora file. |
||
| 249 | |||
| 250 | |||
| 251 | |||
| 252 | ODP.NET, Managed Driver Tips, Limitations, and Known Issues |
||
| 253 | =========================================================== |
||
| 254 | This section contains information that is specific to ODP.NET, Managed Driver. |
||
| 255 | |||
| 256 | 1. OracleConnection object's OpenWithNewPassword() method invocation will result in an ORA-1017 error with 11.2.0.3.0 |
||
| 257 | and earlier versions of the database. [Bug 12876992] |
||
| 258 | |||
| 259 | 2. Stored functions/procedures in a PDB cannot be added to a .NET Entity Framework model. [Bug 17344899] |