Установка драйверов СУБД
Через консоль 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
-
Перейдите в раздел меню
OSGI. -
Откройте вкладку Features и введите имя
featureв строку поиска. -
Для установки нажмите кнопку Install.
Добавление 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
Если доступ к общедоступному репозиторию отсутствует, драйвер необходимо предварительно установить в локальный репозиторий.
-
Установите драйвер в локальный репозиторий (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=jarDB2:
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=jarSQLServer:
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=jarPostgreSQL:
mvn install:install-file -Dfile="C:\postgresql-42.7.9.jar" -DgroupId=org.postgresql -DartifactId=postgresql -Dversion=42.7.9 -Dpackaging=jar -
Установите драйвер из репозитория в Karaf с помощью команды
bundle:installOracle:
bundle:install wrap:mvn:com.oracle/ojdbc5/11.2.0.4DB2:
bundle:install wrap:mvn:com.ibm.db2.jdbc/jcc/12.1.3.0SQLServer:
bundle:install wrap:mvn:com.microsoft.sqlserver/mssql-jdbc/7.4.1.jre11PostgreSQL:
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 коннекции
При создании 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 |