Version information
- Release date: June 2026 todo
- Version: V1.2.0 (Base driver package:
OceanBase.ManagedDataAccess.1.2.0)
Overview
OceanBase Connector/NET V1.2.0 introduces and enhances several key capabilities, further improving the compatibility and performance of the driver ecosystem. This version adds support for interface classes such as OracleClientFactory, OracleDataSource, and OracleCommandBuilder, enabling better compatibility with .NET applications built using the standard ADO.NET Provider model and Oracle programming methods.
In terms of protocol and performance, the driver optimizes the PS execution path internally, reducing protocol interactions and enhancing execution efficiency and stability. It also supports ArrayBinding batch operations, which can significantly improve driver performance in batch execution scenarios.
We recommend that .NET applications planning to migrate from Oracle to OceanBase use this version for migration validation, compatibility testing, and business adaptation.
Key feature descriptions
Ecosystem compatibility
To improve the ADO.NET standard compatibility of the OceanBase Oracle mode driver, the following core framework interface classes are added in V1.2.0:
- OracleClientFactory: An implementation of
DbProviderFactory, serving as the factory class for creating all Oracle mode objects. - OracleCommandBuilder: An implementation of
DbCommandBuilder, supporting theDeriveParametersstatic method to automatically derive parameter information from stored procedures. - OracleDataSource: An implementation of
DbDataSource, providing connection pool management and advanced data source capabilities. - OracleDataSourceBuilder: The builder for
OracleDataSource, providing a streaming API for configuration.
These interfaces enable OceanBase Connector/NET to better integrate into the ADO.NET ecosystem, support standard factory patterns such as DbProviderFactories.GetFactory(), and be compatible with mainstream ORM frameworks like EF Core, SqlSugar, and FreeSql.
Two-in-one protocol
V1.2.0 adds support for the COM_STMT_PREPARE_EXECUTE protocol, allowing the preparation, execution, and result processing of prepared statements to be completed in a single request. This reduces protocol interactions and network round-trip overhead, improving statement execution efficiency. It also optimizes the parameter matching logic in PL/stored procedure overloading scenarios, avoiding incorrect parameter selection and further enhancing execution stability and correctness.
ArrayBinding batch operations
V1.2.0 adds support for ArrayBinding batch insert and batch update operations, allowing multiple sets of parameters to be sent and executed at once. This reduces the protocol and call overhead associated with executing each statement individually, significantly improving driver performance in batch write, batch update, and other scenarios, making it suitable for high-throughput data processing.
Limitation: ArrayBinding is not currently supported in PL/stored procedures, functions, or anonymous blocks.
RowId reading
V1.2.0 supports reading data of the Oracle RowId type. Internally, the driver reads RowIds as strings, which is compatible with ODP.NET behavior and transparent to applications. This helps reduce type adaptation work during migration.
Compatibility changes
Configuration parameter changes
Name |
Change type |
Description |
|---|---|---|
UseOraclePrepareExecute |
New | Semantic: Controls whether to enable the two-in-one protocol. Default value: true |
IgnorePrepareExecuteSequenceCheck |
New | Semantic: Skip package serialization check. Default value: true |
UseOracleServerParameterMetadata |
New | Semantic: Indicates whether to use the parameter type information returned by the server. Default value: true. |
UseArrayBinding |
New | Semantic: Enables batch operations for ArrayBinding. Default value: false |
Supported OBServer versions
OBServer 4.x, OBServer 3.x, and earlier versions are supported.
We recommend that you use the OBServer 4.x series for better compatibility and performance.
