OdbcNative class

Native ODBC bindings wrapper.

Provides a high-level Dart interface to the native ODBC engine through FFI bindings. Handles connection management, queries, transactions, prepared statements, connection pooling, and streaming.

Constructors

OdbcNative()
Creates a new OdbcNative instance.

Properties

hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

bulkInsertArray(int connectionId, String table, List<String> columns, Uint8List dataBuffer, int rowCount) int
Performs a bulk insert operation.
cancelStatement(int stmtId) bool
Cancels a prepared statement execution.
catalogColumns(int connectionId, String table) Uint8List?
Queries the database catalog for column information.
catalogTables(int connectionId, {String catalog = '', String schema = ''}) Uint8List?
Queries the database catalog for table information.
catalogTypeInfo(int connectionId) Uint8List?
Queries the database catalog for data type information.
closeStatement(int stmtId) bool
Closes and releases a prepared statement.
connect(String connectionString) int
Establishes a new database connection.
connectWithTimeout(String connectionString, int timeoutMs) int
Establishes a connection with a login timeout.
disconnect(int connectionId) bool
Closes and disconnects a connection.
dispose() → void
Disposes of native resources.
execQuery(int connectionId, String sql, {int? maxBufferBytes}) Uint8List?
Executes a SQL query and returns binary result data.
execQueryMulti(int connectionId, String sql, {int? maxBufferBytes}) Uint8List?
Executes a SQL query that returns multiple result sets.
execQueryParams(int connectionId, String sql, Uint8List? params, {int? maxBufferBytes}) Uint8List?
Executes a SQL query with binary parameters.
execQueryParamsTyped(int connectionId, String sql, List<ParamValue> params, {int? maxBufferBytes}) Uint8List?
Executes a SQL query with typed parameters.
execute(int stmtId, [Uint8List? params]) Uint8List?
Executes a prepared statement with optional binary parameters.
executeTyped(int stmtId, [List<ParamValue>? params]) Uint8List?
Executes a prepared statement with typed parameters.
getError() String
Gets the last error message from the native engine.
getMetrics() OdbcMetrics?
Gets performance and operational metrics.
getStructuredError() StructuredError?
Gets structured error information including SQLSTATE and native code.
init() bool
Initializes the ODBC environment.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
poolClose(int poolId) bool
Closes the connection pool and releases all connections.
poolCreate(String connectionString, int maxSize) int
Creates a new connection pool.
poolGetConnection(int poolId) int
Gets a connection from the pool.
poolGetState(int poolId) → ({int idle, int size})?
Gets the current state of the connection pool.
poolHealthCheck(int poolId) bool
Performs a health check on the connection pool.
poolReleaseConnection(int connectionId) bool
Releases a connection back to the pool.
prepare(int connectionId, String sql, {int timeoutMs = 0}) int
Prepares a SQL statement for execution.
savepointCreate(int txnId, String name) bool
Creates a savepoint within an active transaction.
savepointRelease(int txnId, String name) bool
Releases a savepoint. The transaction remains active.
savepointRollback(int txnId, String name) bool
Rolls back to a savepoint. The transaction remains active.
streamClose(int streamId) bool
Closes a streaming query.
streamFetch(int streamId) StreamFetchResult
Fetches the next chunk of data from a streaming query.
streamStart(int connectionId, String sql, {int chunkSize = _defaultStreamChunkSize}) int
Starts a streaming query.
streamStartBatched(int connectionId, String sql, {int fetchSize = 1000, int chunkSize = 64 * 1024}) int
Starts a batched streaming query.
toString() String
A string representation of this object.
inherited
transactionBegin(int connectionId, int isolationLevel) int
Begins a new transaction with the specified isolation level.
transactionCommit(int txnId) bool
Commits a transaction.
transactionRollback(int txnId) bool
Rolls back a transaction.

Operators

operator ==(Object other) bool
The equality operator.
inherited