У меня работает jdb c -source-connector, когда я запускаю его из командной строки, как показано ниже
bin/connect-standalone.sh \
config/connect-standalone.properties \
config/connect_mysql-jdbc-source.properties
, но когда я анализирую содержимое файла на карту в приложении Java и создать экземпляр io.confluent.connect.jdbc.JdbcSourceConnector
с картой в качестве аргумента. Я получаю
java.sql.SQLException:
Доступ запрещен для пользователя ''@'localhost'
(с использованием пароля: NO
)
Ниже приведено содержимое моего коннектора, который, как я уже сказал, работает при вызове из командной строки и создает все 3 темы
name=test-mysql-jdbc
connector.class=io.confluent.connect.jdbc.JdbcSourceConnector
tasks.max=1
connection.url=jdbc:mysql://127.0.0.1:3306/loaderDB
connection.user=root
connection.password=MyPassword
table.whitelist=loader_jobs, education_event, school_unit
tables="loader_jobs, education_event, school_unit"
mode=bulk
topic.prefix=test_mysql_jdbc_
numeric.mapping=best_fit
poll.interval.ms=86400000
batch.max.rows=10000
При отладке приложения я ясно вижу, что все свойства прочитаны. и когда он доходит до части, чтобы назначить URL-адрес подключения для подключения к базе данных, он выдает исключение SQL выше.
В этом классе нет ни одного упоминания о пользователе и пароле базы данных, поэтому я попробовал изменив connection.url
в файле конфигурации на
connection.url=jdbc:mysql://127.0.0.1:3306/loaderDB?user=root&password=MyPassword
, но все же я получил такое же исключение