Package de.willuhn.jameica.hbci.rmi

# Interface DBSupport

All Superinterfaces:
  `Serializable`

All Known Implementing Classes:
  `AbstractDBSupportImpl`, `DBSupportH2Impl`, `DBSupportMySqlImpl`, `DBSupportPostgreSQLImpl`

public interface DBSupport extends Serializable
Interface fuer eine unterstuetzte Datenbank. Fuer den Suppoert einer neuen Datenbank (z.Bsp. MySQL) in Hibiscus muss dieses Interface implementiert werden.

## Method Summary

Modifier and Type
Method
Description
`void`
`checkConnection(Connection conn)`
Prueft die Datenbankverbindung.
`void`
`execute(Connection conn, File sqlScript)`
Fuehrt ein SQL-Update-Script auf der Datenbank aus.
`boolean`
`getInsertWithID()`
Legt fest, ob SQL-Insert-Queries mit oder ohne ID erzeugt werden sollen.
`String`
`getJdbcDriver()`
Liefert den Klassennamen des JDBC-Treibers.
`String`
`getJdbcPassword()`
Liefert das Passwort des Datenbank-Users.
`String`
`getJdbcUrl()`
Liefert die JDBC-URL.
`String`
`getJdbcUsername()`
Liefert den Usernamen des Datenbank-Users.
`String`
`getScriptPrefix()`
Liefert einen Dateinamens-Prefix, der SQL-Scripts vorangestellt werden soll.
`String`
`getSQLTimestamp(String content)`
Liefert den Namen der SQL-Funktion, mit der die Datenbank aus einem DATE-Feld einen UNIX-Timestamp macht.
`int`
`getTransactionIsolationLevel()`
Liefert das Transaction-Isolation-Level.

## Method Details

### getJdbcUrl

String getJdbcUrl()
Liefert die JDBC-URL.

Returns:
  die JDBC-URL.

### getJdbcDriver

String getJdbcDriver()
Liefert den Klassennamen des JDBC-Treibers.

Returns:
  der JDBC-Treiber.

### getJdbcUsername

String getJdbcUsername()
Liefert den Usernamen des Datenbank-Users.

Returns:
  Username.

### getJdbcPassword

String getJdbcPassword()
Liefert das Passwort des Datenbank-Users.

Returns:
  das Passwort.

### checkConnection

void checkConnection(Connection conn) throws RemoteException
Prueft die Datenbankverbindung.

Parameters:
  `conn` - die Datenbank-Connection.
Throws:
  `RemoteException` - Wenn die Verbindung defekt ist und vom DB-Service neu erzeugt werden muss.

### execute

void execute(Connection conn, File sqlScript) throws RemoteException
Fuehrt ein SQL-Update-Script auf der Datenbank aus.

Parameters:
  `conn` - die Datenbank-Connection.
  `sqlScript` - das SQL-Script.
Throws:
  `RemoteException`

### getScriptPrefix

String getScriptPrefix() throws RemoteException
Liefert einen Dateinamens-Prefix, der SQL-Scripts vorangestellt werden soll.

Returns:
  Dateinamens-Prefix.
Throws:
  `RemoteException`

### getSQLTimestamp

String getSQLTimestamp(String content) throws RemoteException
Liefert den Namen der SQL-Funktion, mit der die Datenbank aus einem DATE-Feld einen UNIX-Timestamp macht. Bei MySQL ist das z.Bsp. "UNIX_TIMESTAMP".

Parameters:
  `content` - der Feld-Name.
Returns:
  Name der SQL-Funktion samt Parameter. Also zum Beispiel "TONUMBER(datum)".
Throws:
  `RemoteException`

### getInsertWithID

boolean getInsertWithID() throws RemoteException
Legt fest, ob SQL-Insert-Queries mit oder ohne ID erzeugt werden sollen.

Returns:
  true, wenn die Insert-Queries mit ID erzeugt werden.
Throws:
  `RemoteException` - Siehe auch: de.willuhn.datasource.db.DBServiceImpl#getInsertWithID()

### getTransactionIsolationLevel

int getTransactionIsolationLevel() throws RemoteException
Liefert das Transaction-Isolation-Level.

Returns:
  das Transaction-Isolation-Level.
Throws:
  `RemoteException`