dotConnect for Oracle 9.11 is released!

Discussion of open issues, suggestions and bugs regarding ADO.NET provider for Oracle
Locked
Devart
Site Admin
Posts: 3974
Joined: Tue 26 Oct 2004 13:51

dotConnect for Oracle 9.11 is released!

Post by Devart » Fri 21 Feb 2020 12:12

Dear users,

Devart is glad to announce the release of dotConnect for Oracle 9.11, Devart ADO.NET data provider for Oracle with support for Entity Framework, Entity Framework Core, LinqConnect (LINQ to Oracle), and NHibernate. The new release contains a lot of new features, Direct mode improvements, and Oracle-specific technologies support: support for Oracle Sharding, Query Result Change Notification, OracleCredential class to specify password as a SecureString, SSL/TLS support in the Direct mode, .NET Standard/.NET Core support improvements, and many more.

Oracle Sharding Support

Oracle Sharding technology allows splitting a database into multiple ones – database shards, hosted on different physically independent servers, and work with it transparently as with single logical database – sharded database. This technology is based on partitioning a hierarchy of tables, linked by master-detail relationships, horizontally, when rows go to different partitions based on values in the topmost parent table columns, which are referenced by all the tables in the hierarchy. These columns are called sharding key. And these different partitions are stored in different shards.

Applications are not required to know anything about database sharding, and can connect to a sharded database completely transparently, like with any non-sharded Oracle database. However, in such case queries may often need to run against all the shards, and in certain cases it may lead to inefficient resource use.

Sharded databases provide many performance benefits – linear scalability, geographical data distribution, etc. But the best practice is when an application mostly uses small short-living sessions that work only with a limited set of data from a single shard – perform single-shard queries. In this case, such a connection can specify the necessary value of the sharding key, and this allows connecting to a specific shard, where the needed data is stored, without the need to query other shards. This ensures the best performance and most efficient resource use.

dotConnect for Oracle now provides the OracleShardingKey class and SetShardingKey method of OracleConnection that allow you to specify sharding key and perform single shard queries most efficiently. Oracle Sharding is supported only in the OCI mode.

OracleCredential Class

The new OracleCredential class allows specifying credentials for connecting to Oracle in a more secure way than a plain-text connection string. It stores password as a SecureString, which is encrypted in unmanaged memory on Windows platform. Note that it is supported only in the OCI mode.

Query Result Change Notification Support

Query Result Change Notification (QRCN) is a part of Oracle’s Continuous Query Notification technology, and it allows client application to register a query for notifications when its result data changes in the database. Unlike the Object Change Notification, previously supported in dotConnect for Oracle, notifications are sent in case of changes in the query result set, not any changes in queried objects.

We have updated the OracleDependency class and other classes implemented previously for Object Change Notification support, and now you can use them for both parts of Oracle’s Continuous Query Notification technology.

SSL/TLS Support in Direct Mode

With the new version of dotConnect for Oracle, you can use SSL/TLS encryption in the Direct mode as well as in the OCI mode. You can either use certificates from Oracle Wallet, stored in the registry or in a file, or from Microsoft Certificate Storage, or simply encode it to a base64 string and specify it as a connection string parameter.

To enable SSL in OracleConnection, you may either add “tcps://” to the beginning of the Server connection string parameter or specify it as a full TNS descriptor, including PROTOCOL set to tcps.

.NET Standard Support Improvements

New version of dotConnect for Oracle contains a new set of assemblies, compatible with .NET Standard 2.1, which allow selecting OracleHome to use, unlike assemblies for lower .NET Standard versions. Additionally, OracleDataTable and OracleDataSet classes are now available in .NET Standard compatible assemblies.

Here is the complete list of dotConnect for Oracle 9.11.951 features:
  • SQL Server Integration Services 2019 (SSIS 2019) is supported
  • SSL/TLS is supported in the Direct mode
  • The new connection string parameters SSL Cert and SSL Server CertDN are added
  • The new properties WalletMethod and WalletLocation are added to the DirectUtils class
  • The new class OracleCredential is implemented to provide a more secure way to specify the password while opening connection in the OCI mode on Windows
  • The new overload OracleConnection(string connectionString, OracleCredential credential) is added
  • The new overload ChangePassword(SecureString newPassword) is added
  • The new property DefaultExpressionCacheSize (by default, 100) is added to the OracleLoader class to specify the number of default expressions that are evaluated at a time
  • The new property DefaultExpressionBehavior is added to the OracleLoader class to specify how the direct path API handles default expressions for columns that are not explicitly being loaded
  • OCI Multiple Homes is supported in .NET Standard 2.1
  • The OracleDataTable and OracleDataSet classes are supported in .NET Standard 2.0/2.1
  • Connection pool performance counters are supported in .NET Standard 2.0/2.1
  • .NET Standard 2.1 compatible assembly is added to the Devart.Data.Oracle NuGet package
  • The new class OracleShardingKey is implemented to store one or more key values for sharding in the OCI Session Pooling mode with Oracle Client 12g Release 2 and higher
  • The new methods SetShardingKey(OracleShardingKey shardingKey) and SetShardingKey(OracleShardingKey shardingKey, OracleShardingKey superShardingKey) are added to the OracleConnection class
  • Query Result Change Notification (QRCN) is supported
  • The new column QueryId is added to DataTable stored in OracleNotificationEventArgs.Details
  • The new properties GroupingNotificationEnabled, GroupingType, GroupingInterval are added to the OracleNotificationRequest class
  • The new properties RegisteredQueryIds, RegisteredResources, RegId are added to the OracleDependency class
  • The new connection mode OracleConnectMode.SysRac is supported for managing Real Application Clusters in Oracle Server 12c Release 2 and higher
  • The new property OracleUtils.ParameterValueTrimming (by default, false) is added to trim value that exceeds OracleParameter.Size
  • The behavior is changed: OCIStmtPrepare2() is used now instead of OCIStmtPrepare() in the OCI mode to support the use of Application Continuity in an HA infrastructure
  • The behavior is changed: pool is automatically cleared when AppDomain is being closed
  • The bug with inserting Unicode N-prefixed string literal when using the "Unicode=true" connection string parameter in the Direct mode is fixed
  • The bug with getter of OracleParameter.OracleValue, when it returns an empty array, is fixed
  • The bug with initializing NHibernate configuration on .NET Standard 2.0 is fixed
LinqConnect (formerly known as LINQ to Oracle)
  • The bug with case insensitive comparison via string.Compare() is fixed
Entity Developer
  • The bug with returning multiple result sets in code generated by the EF Core template is fixed
Entity Framework support
  • Entity Framework Core 3.1.1 is supported
  • The bug with using a discriminator in EF Core 3 is fixed
  • The bug with querying types in inheritance hierarchy via EF Core 3 is fixed
  • The bug with generating a subselect within the CASE clause in EF Core 3 is fixed
  • The bug with using .All in the .Where expression in EF Core 2 and EF Core 3 is fixed
  • The bug with detecting string parameter data type in EF Core 3 expressions is fixed
  • The bug with paging in EF Core 3, when using JOINs and subqueries to Oracle 11.2 and below, is fixed
  • The bug with missing GENERATED BY DEFAULT AS IDENTITY in the script created by EF Core Migrations for the property with .HasColumnType(@"NUMBER").ValueGeneratedOnAdd() is fixed
  • The bug with using nullable enum properties with default mapping to integers in LINQ query in EF Core 3.1 is fixed
  • The bug with using value converters detected automatically by .HasConversion<string>() in EF Core 3 is fixed
  • The bug with using NULL constant values in EF Core 3 is fixed
  • The bug with using binary operators AND, OR in EF Core 3 is fixed
Devart development team
http://www.devart.com/dotconnect/oracle/

Locked