#grails #mariadb
#grails #mariadb
Вопрос:
Мне нужно связать вторую базу данных с моей системой (у меня есть одна в grails), и я не нахожу способ, я использую следующее:
dataSource_maria {
dialect = org.hibernate.dialect.MariaDBDialect
driverClassName = 'org.mariadb.jdbc.Driver'
username = 'root'
password = 'greenArrow2019'
url = 'jdbc:mariadb://192.168.0.20/db'
dbCreate = 'validate'
}
Ошибка консоли:
| Error 2019-03-18 11:06:40,695 [localhost-startStop-1] ERROR pool.ConnectionPool - Unable to create initial connections of pool.
Message: org.mariadb.jdbc.Driver
Line | Method
->> 266 | run in java.util.concurrent.FutureTask
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
| 1149 | runWorker in java.util.concurrent.ThreadPoolExecutor
| 624 | run . . . in java.util.concurrent.ThreadPoolExecutor$Worker
^ 748 | run in java.lang.Thread
Caused by ClassNotFoundException: org.mariadb.jdbc.Driver
Спасибо!
Ответ №1:
Вам нужно убедиться, что вы включаете драйвер JDBC для Maria в свой проект. Например, в файле Grails 3 build.gradle вы могли бы добавить зависимость от
compile 'org.mariadb.jdbc:mariadb-java-client:2.4.1'
Если вы включаете драйвер JDBC и по-прежнему получаете исключение class not found, пожалуйста, обновите этот вопрос информацией о вашей сборке и версией grails, чтобы люди могли вам помочь в дальнейшем.
Комментарии:
1. К вашему сведению, информацию о версиях драйверов Maria можно найти здесь среди других мест: mvnrepository.com/artifact/org.mariadb.jdbc/mariadb-java-client
Ответ №2:
Я также сталкивался с проблемами при подключении к базе данных mariadb, и я использую grails v3.3.11, mariadb v10.4.13 и java 1.8.
Во-первых, этот диалект не существует для hibernate. Доступные диалекты смотрите в пакете org.hibernate.dialect. Обычно используется org.hibernate.dialect.MySQL5InnoDBDialect
, который у меня отлично работал.
Во-вторых, вам нужно добавить зависимость mysql connect runtime 'mysql:mysql-connector-java:5.1.48'
В приложении.yml вы можете настроить что-то подобное приведенному ниже, чтобы успешно установить соединение с базой данных mariadb
pooled: true
jmxExport: true
dialect: org.hibernate.dialect.MySQL5InnoDBDialect
driverClassName: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost/mozstart
username: root
password: ''