Установка драйверов СУБД

Через консоль Karaf

Apache Karaf предоставляет набор фич (features), включающий драйверы для различных СУБД и поддержку пулов соединений. Эти фичи можно просмотреть из консоли Karaf с помощью команды:

feature:list | grep pax-jdbc
Feature Версия Описание

pax-jdbc-spec

1.4.4

Реализует спецификацию JDBC-сервиса для OSGi.

pax-jdbc

1.4.4

Поддерживает основные JDBC-сервисы в рамках OSGi.

pax-jdbc-config

1.4.4

Предоставляет централизованную поддержку конфигурации для управления источниками данных JDBC.

pax-jdbc-db2

1.4.4

Реализует поддержку DataSourceFactory для баз данных DB2.

pax-jdbc-teradata

1.4.4

Обеспечивает поддержку Teradata DataSourceFactory.

pax-jdbc-derby

1.4.4

Предоставляет DataSourceFactory для встроенного режима Derby.

pax-jdbc-derbyclient

1.4.4

Добавляет поддержку для клиентской версии Derby.

pax-jdbc-h2

1.4.4

Реализует поддержку DataSourceFactory для базы данных H2.

pax-jdbc-hsqldb

1.4.4

Обеспечивает поддержку для HSQLDB DataSourceFactory.

pax-jdbc-mariadb

1.4.4

Поддержка DataSourceFactory для MariaDB.

pax-jdbc-oracle

1.4.4

Обеспечивает интеграцию с Oracle через DataSourceFactory, но для работы требуется внешний драйвер Oracle (ojdbc).

pax-jdbc-postgresql

1.4.4

Предоставляет DataSourceFactory для PostgreSQL.

pax-jdbc-sqlite

1.4.4

Поддержка DataSourceFactory для SQLite.

pax-jdbc-mssql

1.4.4

Предоставляет DataSourceFactory для Microsoft SQL Server, поддерживая подключение к базам данных MSSQL.

pax-jdbc-jtds

1.4.4

Реализует поддержку jTDS DataSourceFactory для интеграции с базами данных Microsoft SQL Server и Sybase через драйвер jTDS.

pax-jdbc-pool-dbcp2

1.4.4

Поддержка пула соединений с использованием Apache DBCP2.

pax-jdbc-pool-c3p0

1.4.4

Обеспечивает пул соединений с использованием библиотеки C3P0.

pax-jdbc-pool-hikaricp

1.4.4

Поддержка пула соединений HikariCP.

pax-jdbc-pool-aries

1.4.4

Интегрируется с Apache Aries для создания пула соединений JDBC.

pax-jdbc-pool-narayana

1.4.4

Обеспечивает поддержку пула соединений с использованием Narayana, добавляя поддержку транзакций для JDBC.

pax-jdbc-pool-transx

1.4.4

Поддержка пула соединений Pax Transx для создания устойчивых соединений и управления транзакциями.

И далее установить по имени.

Например:

feature:install pax-jdbc-mssql
feature pax-jdbc-oracle не содержит драйвер ojdbc для Oracle, поэтому драйвер потребуется установить отдельно.

Через UI

  1. Перейдите в раздел меню OSGI.

  2. Откройте вкладку Features и введите имя feature в строку поиска.

  3. Для установки нажмите кнопку Install.

OSGI feature

Добавление JDBC драйверов

Этот способ позволяет добавить JDBC-драйверы в контейнер Apache Karaf напрямую через локальные файлы JAR или Maven-артефакты, без использования Karaf features.

Установка JDBC-драйвера из общедоступного репозитория Maven

Для примера рассмотрим процесс установки JDBC-драйверов MySQL и H2, доступных в общедоступных Maven-репозиториях. Аналогичная процедура применима ко всем JDBC-драйверам, опубликованным в публичных репозиториях Maven.

При необходимости измените номера версий базы данных.

MySQL 5.x:

bundle:install mvn:mysql/mysql-connector-java/5.1.49

MySQL 8.x:

bundle:install mvn:mysql/mysql-connector-java/8.0.30

H2:

bundle:install -s mvn:com.h2database/h2/2.4.240

Установка JDBC-драйвера из локального репозитория Maven

Если доступ к общедоступному репозиторию отсутствует, драйвер необходимо предварительно установить в локальный репозиторий.

  1. Установите драйвер в локальный репозиторий (Nexus или локальный Maven).

    Oracle:

    mvn install:install-file -Dfile="C:\oraclexe\app\oracle\product\11.2.0\server\jdbc\lib\ojdbc5-11.2.0.4.jar" -DgroupId=com.oracle -DartifactId=ojdbc5 -Dversion=11.2.0.4 -Dpackaging=jar

    DB2:

    mvn install:install-file -Dfile="C:\Program Files (x86)\IBM\SQLLIB\java\jcc-12.1.3.0.jar" -DgroupId=com.ibm.db2.jdbc -DartifactId=jcc -Dversion=12.1.3.0 -Dpackaging=jar

    SQLServer:

    mvn install:install-file -Dfile="C:\mssql-jdbc-7.4.1.jre11.jar" -DgroupId=com.microsoft.sqlserver -DartifactId=mssql-jdbc -Dversion=7.4.1.jre11 -Dpackaging=jar

    PostgreSQL:

    mvn install:install-file -Dfile="C:\postgresql-42.7.9.jar" -DgroupId=org.postgresql -DartifactId=postgresql -Dversion=42.7.9 -Dpackaging=jar
  2. Установите драйвер из репозитория в Karaf с помощью команды bundle:install

    Oracle:

    bundle:install wrap:mvn:com.oracle/ojdbc5/11.2.0.4

    DB2:

    bundle:install wrap:mvn:com.ibm.db2.jdbc/jcc/12.1.3.0

    SQLServer:

    bundle:install wrap:mvn:com.microsoft.sqlserver/mssql-jdbc/7.4.1.jre11

    PostgreSQL:

    bundle:install wrap:mvn:org.postgresql/postgresql/42.7.9

Установка драйвера из файловой системы с помощью команды bundle:install

Oracle:

bundle:install wrap:file:C:/oraclexe/app/oracle/product/11.2.0/server/jdbc/lib/ojdbc5-11.2.0.4.jar\$Bundle-SymbolicName=com.oracle.ojdbc5&Bundle-Version=11.2.0.4&Bundle-Name='JDBC Driver for Oracle'

DB2:

bundle:install wrap:file:C:/Program\ Files\ \(x86\)/IBM/SQLLIB/java/jcc-12.1.3.0.jar\$Bundle-SymbolicName=com.ibm.db2.jcc&Bundle-Version=12.1.3.0&Bundle-Name='JDBC Driver for DB2'

SQLServer:

bundle:install wrap:mvn:com.microsoft.sqlserver/mssql-jdbc/7.4.1.jre11\$Bundle-SymbolicName=com.microsoft.sqlserver.jdbc&Bundle-Version=7.4.1.jre11&Bundle-Name='JDBC Driver for SQLServer'

PostgreSQL:

bundle:install wrap:file:C:/postgresql-42.7.9.jar\$Bundle-SymbolicName=org.postgresql&Bundle-Version=42.7.9&Bundle-Name='JDBC Driver for PostgreSQL'

Создание JDBC коннекции

entaxy create

При создании JDBC коннекции используйте соответствующий класс драйвера из таблицы ниже для заполнения параметра Driver Class Name.

СУБД Driver Class Name

Oracle

oracle.jdbc.OracleDriver

DB2

com.ibm.db2.jcc.DB2Driver

SQL Server

com.microsoft.sqlserver.jdbc.SQLServerDriver

PostgreSQL

org.postgresql.Driver

MySQL 5.x

com.mysql.jdbc.Driver

MySQL 8.x

com.mysql.cj.jdbc.Driver

H2

org.h2.Driver