You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
227 lines
11 KiB
Plaintext
227 lines
11 KiB
Plaintext
Oracle.ManagedDataAccess NuGet Package 19.6.0 README
|
|
====================================================
|
|
|
|
Release Notes: Oracle Data Provider for .NET, Managed Driver
|
|
|
|
November 2019
|
|
|
|
This document provides information that supplements the Oracle Data Provider for .NET (ODP.NET) documentation.
|
|
You have downloaded Oracle Data Provider for .NET from Oracle, the license agreement to which is available at
|
|
https://www.oracle.com/downloads/licenses/distribution-license.html
|
|
|
|
TABLE OF CONTENTS
|
|
*New Features
|
|
*Bug Fixes
|
|
*Installation and Configuration Steps
|
|
*Installation Changes
|
|
*Documentation Corrections and Additions
|
|
*ODP.NET, Managed Driver Tips, Limitations, and Known Issues
|
|
|
|
Note: The 32-bit "Oracle Developer Tools for Visual Studio" download from https://otn.oracle.com/dotnet is
|
|
required for Entity Framework design-time features and for other Visual Studio designers such as the
|
|
TableAdapter Wizard. This NuGet download does not enable design-time tools; it only provides run-time support.
|
|
This version of ODP.NET supports Oracle Database version 11.2 and higher.
|
|
|
|
|
|
New Features
|
|
============
|
|
None
|
|
|
|
|
|
Bug Fixes since Oracle.ManagedDataAccess NuGet Package 19.5.0
|
|
=============================================================
|
|
30355981 ORABUFWRITER:READRESETRESPONSE - UNEXPECTED PACKET RECEIVED
|
|
30266960 CONNECTION CREATION DELAY IS OBSERVED WHEN TRYING TO OPEN CONNECTION FOR SECOND TIME IN ASP.NET APPLICATION
|
|
30190314 DOUBLE QUATED PLACEFOLDER CAUSE 'INVALID PARAMETER BINDING' WITH BINDBYNAME=TRUE ON ODP.NET MANAGED AND CORE
|
|
30134453 LONG COLUMN DOES NOT RETURN DATA
|
|
30107816 ODP.NET MANAGED & CORE : THROWING "INDEX WAS OUTSIDE THE BOUNDS OF THE ARRAY" ERROR AFTER UPGRADING DB TO 18C
|
|
29956349 METACHARACTERS IN NETWORK SHARE DIRECTORY PATH FOR TNSADMIN PRODUCE INCORRECT PATH NAME
|
|
29885887 ORACLEREFCURSOR: SLOWER PERFORMANCE USING IDENTITY VS. SEQUENCE
|
|
29822515 INVALIDCASTEXCEPTION OCCUR WHEN ODP.NET MANAGED AND CORE ISSUES SQL WITH ARRAY BIND
|
|
29760546 GETSCHEMATABLE SPLITS DBLINK INTO MORE THAN THREE PARTS CAUSING INDEXOUTOFRANGEEXCEPTION
|
|
29630212 CALL TO UPDATE ON DA FAILS WITH NULLREFERENCEEXCEPTION WHEN UPDATEBATCHSIZE > 1
|
|
29237698 DIFFERENT VALUE IS SET TO DATATABLE.COLUMNS.READONLY PROPERTY FOR ODP.NET MANAGED & CORE
|
|
29183084 ODP.NET MANAGED & CORE : CONNECTION.CLOSE DOES NOT CLEAR MODULE, ACTION, CLIENT_IDENTIFIER ATTRIBUTES IN V$SESSION
|
|
28468785 ASSOCIATIVE ARRAY WITH RAW OUT PARAMETER TRUNCATES DATA
|
|
27815019 ORACLEDECIMAL.VALUE RETURNS INCORRECT VALUE AFTER SETPRECISION
|
|
26894469 APPLICATIONS RECEIEVE HA/FAN EVENTS THAT NOT ESSENTIAL FOR CONNECTION CLEAN-UP
|
|
24289289 INLINE SQL COMMENT /**/ CAUSES INDEX OUTSIDE THE BOUNDS OF THE ARRAY ERROR
|
|
|
|
|
|
Installation and Configuration Steps
|
|
====================================
|
|
The downloads are NuGet packages that can be installed with the NuGet Package Manager. These instructions apply
|
|
to install ODP.NET, Managed Driver.
|
|
|
|
1. Un-GAC and un-configure any existing assembly (i.e. Oracle.ManagedDataAccess.dll) and policy DLL
|
|
(i.e. Policy.4.122.Oracle.ManagedDataAccess.dll) for the ODP.NET, Managed Driver, version 4.122.19.1
|
|
that exist in the GAC. Remove all references of Oracle.ManagedDataAccess from machine.config file, if any exists.
|
|
|
|
2. In Visual Studio, open NuGet Package Manager from an existing Visual Studio project.
|
|
|
|
3. Install the NuGet package from an OTN-downloaded local package source or from nuget.org.
|
|
|
|
|
|
From Local Package Source
|
|
-------------------------
|
|
A. Click on the Settings button in the lower left of the dialog box.
|
|
|
|
B. Click the "+" button to add a package source. In the Source field, enter in the directory location where the
|
|
NuGet package(s) were downloaded to. Click the Update button, then the Ok button.
|
|
|
|
C. On the left side, under the Online root node, select the package source you just created. The ODP.NET NuGet
|
|
packages will appear.
|
|
|
|
|
|
From Nuget.org
|
|
--------------
|
|
A. In the Search box in the upper right, search for the package with id, "Oracle.ManagedDataAccess". Verify
|
|
that the package uses this unique ID to ensure it is the official Oracle Data Provider for .NET, Managed Driver
|
|
download.
|
|
|
|
B. Select the package you wish to install.
|
|
|
|
|
|
4. Click on the Install button to select the desired NuGet package(s) to include with the project. Accept the
|
|
license agreement and Visual Studio will continue the setup.
|
|
|
|
5. Open the app/web.config file to configure the ODP.NET connection string and connect descriptors.
|
|
Below is an example of configuring the net service aliases and connect descriptors parameters:
|
|
|
|
<oracle.manageddataaccess.client>
|
|
<version number="*">
|
|
<dataSources>
|
|
<!-- Customize these connection alias settings to connect to Oracle DB -->
|
|
<dataSource alias="MyDataSource" descriptor="(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=ORCL))) " />
|
|
</dataSources>
|
|
</version>
|
|
</oracle.manageddataaccess.client>
|
|
|
|
After following these instructions, ODP.NET is now configured and ready to use.
|
|
|
|
IMPORTANT: Oracle recommends configuring net service aliases and connect descriptors in a .NET config file to
|
|
have the application configuration be self-contained rather than using tnsnames.ora or TNS_ADMIN.
|
|
|
|
NOTE: ODP.NET, Managed Driver comes with one set of platform specific assemblies for Kerberos support: Oracle.ManagedDataAccessIOP.dll.
|
|
|
|
The Oracle.ManagedDataAccessIOP.dll assembly is ONLY needed if you are using Kerberos5 based external
|
|
authentication. Kerberos5 users will need to download MIT Kerberos for Windows version 4.0.1 from
|
|
https://web.mit.edu/kerberos/dist/
|
|
to utilize ODP.NET, Managed Driver's support of Kerberos5.
|
|
|
|
The asssemblies are located under
|
|
packages\Oracle.ManagedDataAccess.<version>\bin\x64
|
|
and
|
|
packages\Oracle.ManagedDataAccess.<version>\bin\x86
|
|
depending on the platform.
|
|
|
|
If these assemblies are required by your application, your Visual Studio project requires additional changes.
|
|
|
|
Use the following steps for your application to use the 64-bit version of Oracle.ManagedDataAccessIOP.dll:
|
|
|
|
1. Right click on the Visual Studio project.
|
|
2. Select Add -> New Folder.
|
|
3. Name the folder x64.
|
|
4. Right click on the newly created x64 folder.
|
|
5. Select Add -> Existing Item.
|
|
6. Browse to packages\Oracle.ManagedDataAccess.<version>\bin\x64 under your project solution directory.
|
|
7. Choose Oracle.ManagedDataAccessIOP.dll.
|
|
8. Click the 'Add' button.
|
|
9. Left click the newly added Oracle.ManagedDataAccessIOP.dll in the x64 folder.
|
|
10. In the properties window, set 'Copy To Output Directory' to 'Copy Always'.
|
|
|
|
For x86 targeted applications, name the folder x86 and add assemblies from the
|
|
packages\Oracle.ManagedDataAccess.<version>\bin\x86 folder.
|
|
|
|
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.
|
|
|
|
|
|
Installation Changes
|
|
====================
|
|
The following app/web.config entries are added by including the "Official Oracle ODP.NET, Managed Driver" NuGet package
|
|
to your application:
|
|
|
|
1) Configuration Section Handler
|
|
|
|
The following entry is added to the app/web.config to enable applications to add an <oracle.manageddataaccess.client>
|
|
section for ODP.NET, Managed Driver-specific configuration:
|
|
|
|
<configuration>
|
|
<configSections>
|
|
<section name="oracle.manageddataaccess.client" type="OracleInternal.Common.ODPMSectionHandler, Oracle.ManagedDataAccess, Version=4.122.19.1, Culture=neutral, PublicKeyToken=89b483f429c47342" />
|
|
</configSections>
|
|
</configuration>
|
|
|
|
Note: If your application is a web application and the above entry was added to a web.config and the same config
|
|
section handler for "oracle.manageddataaccess.client" also exists in machine.config but the "Version" attribute values
|
|
are different, an error message of "There is a duplicate 'oracle.manageddataaccess.client' section defined." may be
|
|
observed at runtime. If so, the config section handler entry in the machine.config for
|
|
"oracle.manageddataaccess.client" has to be removed from the machine.config for the web application to not encounter
|
|
this error. But given that there may be other applications on the machine that depended on this entry in the
|
|
machine.config, this config section handler entry may need to be moved to all of the application's .NET config file on
|
|
that machine that depend on it.
|
|
|
|
2) DbProviderFactories
|
|
|
|
The following entry is added for applications that use DbProviderFactories and DbProviderFactory classes. Also, any
|
|
DbProviderFactories entry for "Oracle.ManagedDataAccess.Client" in the machine.config will be ignored with the following
|
|
entry:
|
|
|
|
<configuration>
|
|
<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.122.19.1, Culture=neutral, PublicKeyToken=89b483f429c47342" />
|
|
</DbProviderFactories>
|
|
</system.data>
|
|
</configuration>
|
|
|
|
3) Dependent Assembly
|
|
|
|
The following entry is created to ignore policy DLLs for Oracle.ManagedDataAccess.dll and always use the
|
|
Oracle.ManagedDataAccess.dll version that is specified by the newVersion attribute in the <bindingRedirect> element.
|
|
The newVersion attribute corresponds to the Oracle.ManagedDataAccess.dll version which came with the NuGet package
|
|
associated with the application.
|
|
|
|
<configuration>
|
|
<runtime>
|
|
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
|
<dependentAssembly>
|
|
<publisherPolicy apply="no" />
|
|
<assemblyIdentity name="Oracle.ManagedDataAccess" publicKeyToken="89b483f429c47342" culture="neutral" />
|
|
<bindingRedirect oldVersion="4.122.0.0 - 4.65535.65535.65535" newVersion="4.122.19.1" />
|
|
</dependentAssembly>
|
|
</assemblyBinding>
|
|
</runtime>
|
|
</configuration>
|
|
|
|
4) Data Sources
|
|
|
|
The following entry is added to provide a template on how a data source can be configured in the app/web.config.
|
|
Simply rename "MyDataSource" to an alias of your liking and modify the PROTOCOL, HOST, PORT, SERVICE_NAME as required
|
|
and un-comment the <dataSource> element. Once that is done, the alias can be used as the "data source" attribute in
|
|
your connection string when connecting to an Oracle Database through ODP.NET, Managed Driver.
|
|
|
|
<configuration>
|
|
<oracle.manageddataaccess.client>
|
|
<version number="*">
|
|
<dataSources>
|
|
<dataSource alias="SampleDataSource" descriptor="(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=ORCL))) " />
|
|
</dataSources>
|
|
</version>
|
|
</oracle.manageddataaccess.client>
|
|
</configuration>
|
|
|
|
|
|
Documentation Corrections and Additions
|
|
=======================================
|
|
None
|
|
|
|
|
|
ODP.NET, Managed Driver Tips, Limitations, and Known Issues
|
|
===========================================================
|
|
None
|
|
|
|
|
|
Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved.
|