public class FBDriver extends java.lang.Object implements FirebirdDriver
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
BLOB_BUFFER_LENGTH |
static java.lang.String |
CHARSET |
static java.lang.String |
DATABASE |
static java.lang.String |
PASSWORD |
static java.lang.String |
TPB_MAPPING |
static java.lang.String |
USE_TRANSLATION |
static java.lang.String |
USER |
static java.lang.String |
USER_NAME |
Constructor and Description |
---|
FBDriver() |
Modifier and Type | Method and Description |
---|---|
boolean |
acceptsURL(java.lang.String url)
Returns true if the driver thinks that it can open a connection
to the given URL.
|
FirebirdConnection |
connect(FirebirdConnectionProperties properties)
Connect to the specified database using the specified connection
properties.
|
java.sql.Connection |
connect(java.lang.String url,
java.util.Properties info)
Attempts to make a database connection to the given URL.
|
int |
getMajorVersion()
Gets the driver's major version number.
|
int |
getMinorVersion()
Gets the driver's minor version number.
|
java.util.logging.Logger |
getParentLogger() |
java.sql.DriverPropertyInfo[] |
getPropertyInfo(java.lang.String url,
java.util.Properties info)
Gets information about the possible properties for this driver.
|
boolean |
jdbcCompliant()
Reports whether this driver is a genuine JDBC
COMPLIANTTM driver.
|
FirebirdConnectionProperties |
newConnectionProperties()
Create new instance of
FirebirdConnectionProperties that can
later be used in FirebirdDriver.connect(FirebirdConnectionProperties) call. |
static java.util.Map<java.lang.String,java.lang.String> |
normalizeProperties(java.lang.String jdbcUrl,
java.util.Properties connectionProperties)
Merges the properties from the JDBC URL and properties object, normalizes them to a standard name.
|
public static final java.lang.String CHARSET
public static final java.lang.String USE_TRANSLATION
public static final java.lang.String USER
public static final java.lang.String USER_NAME
public static final java.lang.String PASSWORD
public static final java.lang.String DATABASE
public static final java.lang.String BLOB_BUFFER_LENGTH
public static final java.lang.String TPB_MAPPING
public java.sql.Connection connect(java.lang.String url, java.util.Properties info) throws java.sql.SQLException
The driver should raise a SQLException if it is the right driver to connect to the given URL, but has trouble connecting to the database.
The java.util.Properties argument can be used to passed arbitrary string tag/value pairs as connection arguments. Normally at least "user" and "password" properties should be included in the Properties.
connect
in interface java.sql.Driver
url
- the URL of the database to which to connectinfo
- a list of arbitrary string tag/value pairs as
connection arguments. Normally at least a "user" and
"password" property should be included.Connection
object that represents a
connection to the URLjava.sql.SQLException
- if a database access error occurspublic FirebirdConnection connect(FirebirdConnectionProperties properties) throws java.sql.SQLException
FirebirdDriver
connect
in interface FirebirdDriver
properties
- instance of FirebirdConnectionProperties
created in FirebirdDriver.newConnectionProperties()
method.java.sql.SQLException
- if an error happened while connecting to the
database.public FirebirdConnectionProperties newConnectionProperties()
FirebirdDriver
FirebirdConnectionProperties
that can
later be used in FirebirdDriver.connect(FirebirdConnectionProperties)
call.newConnectionProperties
in interface FirebirdDriver
FirebirdConnectionProperties
.public boolean acceptsURL(java.lang.String url) throws java.sql.SQLException
acceptsURL
in interface java.sql.Driver
url
- the URL of the databasejava.sql.SQLException
- if a database access error occurspublic java.sql.DriverPropertyInfo[] getPropertyInfo(java.lang.String url, java.util.Properties info) throws java.sql.SQLException
The getPropertyInfo method is intended to allow a generic GUI tool to discover what properties it should prompt a human for in order to get enough information to connect to a database. Note that depending on the values the human has supplied so far, additional values may become necessary, so it may be necessary to iterate though several calls to getPropertyInfo.
getPropertyInfo
in interface java.sql.Driver
url
- the URL of the database to which to connectinfo
- a proposed list of tag/value pairs that will be sent on
connect openjava.sql.SQLException
- if a database access error occurs
TODO check the correctness of implementation
TODO convert parameters into constantspublic int getMajorVersion()
getMajorVersion
in interface java.sql.Driver
public int getMinorVersion()
getMinorVersion
in interface java.sql.Driver
public boolean jdbcCompliant()
jdbcCompliant
in interface java.sql.Driver
public java.util.logging.Logger getParentLogger() throws java.sql.SQLFeatureNotSupportedException
getParentLogger
in interface java.sql.Driver
java.sql.SQLFeatureNotSupportedException
public static java.util.Map<java.lang.String,java.lang.String> normalizeProperties(java.lang.String jdbcUrl, java.util.Properties connectionProperties) throws java.sql.SQLException
If a property with the exact same name is present in both, the property specified in the JDBC url takes
precedence. Short and long form isc_dpb
properties will be merged if both are present, as will two
different (non-isc_dpb
) aliases, but precedence is undefined. If a property is specified in the (short
or long) isc_dpb
form and as an alias, then an exception is thrown.
The property name that is the result of normalization, is implementation specific behaviour, and might change in a future version of Jaybird. When present, the (normalized) property `"database"` will be excluded, this also might change in the future.
jdbcUrl
- JDBC UrlconnectionProperties
- Properties objectjava.sql.SQLException
- For failures to extract connection properties from jdbcUrl
(URL decoding errors), or presence
of the same property under multiple aliases.Copyright © 2001-2021 Jaybird (Firebird JDBC/JCA) team. All rights reserved.