Package org.firebirdsql.jdbc
Class FBDriver
- java.lang.Object
-
- org.firebirdsql.jdbc.FBDriver
-
- All Implemented Interfaces:
java.sql.Driver
,FirebirdDriver
public class FBDriver extends java.lang.Object implements FirebirdDriver
The Jaybird JDBC Driver implementation for the Firebird database.- Author:
- David Jencks, Mark Rotteveel
-
-
Field Summary
Fields Modifier and Type Field 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
USER
static java.lang.String
USER_NAME
-
Constructor Summary
Constructors Constructor Description FBDriver()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
acceptsURL(java.lang.String url)
java.sql.Connection
connect(java.lang.String url, java.util.Properties info)
FirebirdConnection
connect(FirebirdConnectionProperties properties)
Connect to the specified database using the specified connection properties.int
getMajorVersion()
int
getMinorVersion()
java.util.logging.Logger
getParentLogger()
java.sql.DriverPropertyInfo[]
getPropertyInfo(java.lang.String url, java.util.Properties info)
boolean
jdbcCompliant()
FirebirdConnectionProperties
newConnectionProperties()
Create new instance ofFirebirdConnectionProperties
that can later be used inFirebirdDriver.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.
-
-
-
Field Detail
-
CHARSET
public static final java.lang.String CHARSET
- See Also:
- Constant Field Values
-
USER
public static final java.lang.String USER
- See Also:
- Constant Field Values
-
USER_NAME
public static final java.lang.String USER_NAME
- See Also:
- Constant Field Values
-
PASSWORD
public static final java.lang.String PASSWORD
- See Also:
- Constant Field Values
-
DATABASE
public static final java.lang.String DATABASE
- See Also:
- Constant Field Values
-
BLOB_BUFFER_LENGTH
public static final java.lang.String BLOB_BUFFER_LENGTH
- See Also:
- Constant Field Values
-
TPB_MAPPING
public static final java.lang.String TPB_MAPPING
- See Also:
- Constant Field Values
-
-
Method Detail
-
connect
public java.sql.Connection connect(java.lang.String url, java.util.Properties info) throws java.sql.SQLException
- Specified by:
connect
in interfacejava.sql.Driver
- Throws:
java.sql.SQLException
-
connect
public FirebirdConnection connect(FirebirdConnectionProperties properties) throws java.sql.SQLException
Description copied from interface:FirebirdDriver
Connect to the specified database using the specified connection properties.- Specified by:
connect
in interfaceFirebirdDriver
- Parameters:
properties
- instance ofFirebirdConnectionProperties
created inFirebirdDriver.newConnectionProperties()
method.- Returns:
- new connection to the Firebird database.
- Throws:
java.sql.SQLException
- if an error happened while connecting to the database.
-
newConnectionProperties
public FirebirdConnectionProperties newConnectionProperties()
Description copied from interface:FirebirdDriver
Create new instance ofFirebirdConnectionProperties
that can later be used inFirebirdDriver.connect(FirebirdConnectionProperties)
call.- Specified by:
newConnectionProperties
in interfaceFirebirdDriver
- Returns:
- instance of
FirebirdConnectionProperties
.
-
acceptsURL
public boolean acceptsURL(java.lang.String url) throws java.sql.SQLException
- Specified by:
acceptsURL
in interfacejava.sql.Driver
- Throws:
java.sql.SQLException
-
getPropertyInfo
public java.sql.DriverPropertyInfo[] getPropertyInfo(java.lang.String url, java.util.Properties info) throws java.sql.SQLException
- Specified by:
getPropertyInfo
in interfacejava.sql.Driver
- Throws:
java.sql.SQLException
-
getMajorVersion
public int getMajorVersion()
- Specified by:
getMajorVersion
in interfacejava.sql.Driver
-
getMinorVersion
public int getMinorVersion()
- Specified by:
getMinorVersion
in interfacejava.sql.Driver
-
jdbcCompliant
public boolean jdbcCompliant()
- Specified by:
jdbcCompliant
in interfacejava.sql.Driver
-
getParentLogger
public java.util.logging.Logger getParentLogger() throws java.sql.SQLFeatureNotSupportedException
- Specified by:
getParentLogger
in interfacejava.sql.Driver
- Throws:
java.sql.SQLFeatureNotSupportedException
-
normalizeProperties
public static java.util.Map<java.lang.String,java.lang.String> normalizeProperties(java.lang.String jdbcUrl, java.util.Properties connectionProperties) throws java.sql.SQLException
Merges the properties from the JDBC URL and properties object, normalizes them to a standard name.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.
- Parameters:
jdbcUrl
- JDBC UrlconnectionProperties
- Properties object- Returns:
- New map object with the merged and normalized connection properties
- Throws:
java.sql.SQLException
- For failures to extract connection properties fromjdbcUrl
(URL decoding errors), or presence of the same property under multiple aliases.- Since:
- 4.0.1
-
-