OdbcConnection
classin packageklyn.databases.sql.odbc
public class OdbcConnection implements Connection:
OdbcConnection
All Implemented Interfaces: Connection

ODBC SQL connection.

The connection can be opened directly with an ODBC connection string or via a DSN shortcut. The ODBC driver manager and the target ODBC driver must be installed on the host system.

import klyn.databases.sql
import klyn.databases.sql.odbc

cnx = OdbcConnection.open("odbc:DSN=app;UID=app;PWD=secret")
rows = cnx.statement().executeQuery("select current_date")
cnx.close()
import klyn.databases.sql

cnx = DriverManager.connect("odbc://app", {"user": "app", "password": "secret"})
prepared = cnx.prepared("select * from users where id = ?")
prepared.setInt(1, 42)
rows = prepared.query()
Properties
Modifier and Type Member Description
public property autoCommit
autoCommit as Boolean:
True when each statement is committed immediately.
public property catalog
catalog as String:
Current catalog when supported by the ODBC driver.
public readonly property clientInfo
clientInfo as Map<String, String>:
Mutable client-info map.
public readonly property closed
closed as Boolean:
True after `close()` has been called.
public readonly property connected
connected as Boolean:
True when the ODBC handle is still usable.
public property holdability
holdability as ResultSetHoldability:
Current result-set holdability.
public readonly property metadata
metadata as DatabaseMetaData:
Database metadata facade.
public property networkTimeoutMillis
networkTimeoutMillis as Int:
Connection timeout in milliseconds.
public property readOnly
readOnly as Boolean:
True when the connection is read-only.
public property schema
schema as String:
Current schema tracked by the Klyn connection.
public readonly property sslContext
sslContext as SSLContext:
ODBC does not use the Klyn SSL context directly.
public property transactionIsolation
transactionIsolation as TransactionIsolation:
Current transaction isolation level tracked by Klyn.
public readonly property url
url as String:
Effective connection URL.
public readonly property userName
userName as String:
Effective user name.
public readonly property warning
warning as SQLWarning:
Warning chain.
Properties inherited from Connection: autoCommit, catalog, clientInfo, closed, connected, holdability, metadata, networkTimeoutMillis, readOnly, schema, sslContext, transactionIsolation, url, userName, warning
Methods
Modifier and Type Member Description
public callable
callable(sql as String, resultSetType as ResultSetType = ResultSetType.FORWARD_ONLY, concurrency as ResultSetConcurrency = ResultSetConcurrency.READ_ONLY, holdability as ResultSetHoldability = ResultSetHoldability.CLOSE_CURSORS_AT_COMMIT) as CallableStatement throws SQLException:
Prepares a stored-procedure call.
public clearWarnings
clearWarnings() as Void:
Clears the warning chain.
public override close
close() as Void:
Closes the ODBC connection.
public commit
commit() as Void throws SQLException:
Commits the current transaction.
public static connect
connect(url as String, user as String = "", password as String = "") as OdbcConnection throws SQLException:
Opens an ODBC connection from URL and credentials.
public createStatement
createStatement(resultSetType as ResultSetType = ResultSetType.FORWARD_ONLY, concurrency as ResultSetConcurrency = ResultSetConcurrency.READ_ONLY, holdability as ResultSetHoldability = ResultSetHoldability.CLOSE_CURSORS_AT_COMMIT) as Statement throws SQLException:
Compatibility alias of `statement(.
public isValid
isValid(timeoutSeconds as Int = 0) as Boolean:
Returns true when the ODBC connection is still valid.
public nativeSql
nativeSql(sql as String) as String:
Returns SQL text unchanged; dialect conversion belongs to the target ODBC driver.
public static open
open(url as String, properties as Map<String, String> = null) as OdbcConnection throws SQLException:
Opens an ODBC connection from a Klyn URL and optional connection properties.
public prepareCall
prepareCall(sql as String, resultSetType as ResultSetType = ResultSetType.FORWARD_ONLY, concurrency as ResultSetConcurrency = ResultSetConcurrency.READ_ONLY, holdability as ResultSetHoldability = ResultSetHoldability.CLOSE_CURSORS_AT_COMMIT) as CallableStatement throws SQLException:
Compatibility alias of `callable(.
public prepareStatement
prepareStatement(sql as String, resultSetType as ResultSetType = ResultSetType.FORWARD_ONLY, concurrency as ResultSetConcurrency = ResultSetConcurrency.READ_ONLY, holdability as ResultSetHoldability = ResultSetHoldability.CLOSE_CURSORS_AT_COMMIT) as PreparedStatement throws SQLException:
Compatibility alias of `prepared(.
public prepared
prepared(sql as String, resultSetType as ResultSetType = ResultSetType.FORWARD_ONLY, concurrency as ResultSetConcurrency = ResultSetConcurrency.READ_ONLY, holdability as ResultSetHoldability = ResultSetHoldability.CLOSE_CURSORS_AT_COMMIT) as PreparedStatement throws SQLException:
Prepares a SQL statement through ODBC.
public releaseSavepoint
releaseSavepoint(savepoint as Savepoint) as Void throws SQLException:
Releases a savepoint using SQL `RELEASE SAVEPOINT`.
public rollback
rollback(savepoint as Savepoint = null) as Void throws SQLException:
Rolls back the current transaction or one savepoint.
public savepoint
savepoint(name as String = "") as Savepoint throws SQLException:
Creates a database savepoint using SQL `SAVEPOINT`.
public statement
statement(resultSetType as ResultSetType = ResultSetType.FORWARD_ONLY, concurrency as ResultSetConcurrency = ResultSetConcurrency.READ_ONLY, holdability as ResultSetHoldability = ResultSetHoldability.CLOSE_CURSORS_AT_COMMIT) as Statement throws SQLException:
Creates a plain ODBC statement.
Methods inherited from Connection: callable, clearWarnings, commit, createStatement, isValid, nativeSql, prepareCall, prepareStatement, prepared, releaseSavepoint, rollback, savepoint, statement
Methods inherited from AutoClosable: close