Подключение talnd к MySQL [сервер статуса только для чтения]

0

Я пытаюсь подключить Talend (версия 7.0.1) к MySQL Server (версия 8.0.12), я могу успешно подключиться и выполнить простые запросы выбора к базе данных. Однако, как только я попытаюсь выполнить массовую Insert, я получаю следующее исключение:

Starting job A_2_ProcessRestData_NEW at 17:59 20/08/2018.

[statistics] connecting to socket on port 3407
[statistics] connected
Exception in component tDBOutputBulkExec_1_tMBE (A_2_ProcessRestData_NEW)
java.sql.SQLException: Could not retrieve transation read-only status server
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1084)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:987)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:973)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:918)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:949)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:939)
    at com.mysql.jdbc.ConnectionImpl.isReadOnly(ConnectionImpl.java:3976)
    at com.mysql.jdbc.ConnectionImpl.isReadOnly(ConnectionImpl.java:3947)
    at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:813)
    at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:788)
    at living_dashboard.a_2_processrestdata_new_0_1.A_2_ProcessRestData_NEW.tFileInputDelimited_1Process(A_2_ProcessRestData_NEW.java:4671)
    at living_dashboard.a_2_processrestdata_new_0_1.A_2_ProcessRestData_NEW.runJobInTOS(A_2_ProcessRestData_NEW.java:6955)
    at living_dashboard.a_2_processrestdata_new_0_1.A_2_ProcessRestData_NEW.main(A_2_ProcessRestData_NEW.java:6733)
Caused by: java.sql.SQLException: Unknown system variable 'tx_read_only'
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1084)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4232)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4164)
    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2615)
    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2776)
    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2832)
    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2781)
    at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1569)
    at com.mysql.jdbc.ConnectionImpl.isReadOnly(ConnectionImpl.java:3970)
    ... 6 more
[statistics] disconnected

Job A_2_ProcessRestData_NEW ended at 17:59 20/08/2018. [exit code=1]

Есть ли у вас какие-либо сведения о том, что может быть?

заранее спасибо

  • 0
    Нормальная insert работает нормально? И что это за системная переменная tx_read_only ?
  • 0
    Здравствуй. Нет, при обычной вставке также выводится сообщение «Не удалось получить сервер состояния перехода только для чтения». Относительно tx_read_only. Я понимаю, что это переменная, определяющая, что база данных доступна только для чтения. В моем понимании, во время соединения Talend запрашивает эту переменную обратно, хотя сервер не может предоставить ее, потому что она не существует. Если я наберу команду «SELECT @@tx_read_only session.tx_read_only», вывод будет «select @@tx_read_only tx_read_only LIMIT 0, 1000 Код ошибки: 1193. Неизвестная системная переменная« tx_read_only »»
Показать ещё 2 комментария
Теги:
talend

1 ответ

0

В конце концов я решил вопрос. Оказывается, что используемая версия DB не может быть MySQL 5, как я указывал. Мне нужно использовать MariaDB. Задача решена ;)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню