Стартовая страница › Форумы › Вопросы по установке › Не получается экспорт в БД
Помечено: Экспорт в БД
- В этой теме 21 ответ, 2 участника, последнее обновление 1 год, 5 месяцев назад сделано Mikhail.
-
АвторСообщения
-
25.09.2022 в 19:17 #25201dnat1970Участник
Доброго вечера
Настроил экспорт в БД MySQL в соответствии с инструкцией, На Win Server 2012 — MySql 8.0.30 создал БД и таблицы, пробую экспортировать выдает ошибку
Подскажите что может быть?2022-09-25 19:05:33 Невозможно добавить текущие данные в очередь. Максимальный размер очереди 1000 превышен
2022-09-25 19:05:33 Ошибка при соединении с БД:
System.Security.Authentication.AuthenticationException: Ошибка вызова SSPI, см. внутреннее исключение. —> System.ComponentModel.Win32Exception: Получено непредвиденное сообщение или оно имеет неправильный формат
— Конец трассировки внутреннего стека исключений —
в System.Net.Security.SslState.StartSendAuthResetSignal(ProtocolToken message, AsyncProtocolRequest asyncRequest, Exception exception)
в System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest)
в System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest)
в System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)
в System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest)
в System.Net.Security.SslState.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest)
в System.Net.Security.SslState.ProcessAuthentication(LazyAsyncResult lazyResult)
в MySql.Data.MySqlClient.NativeDriver.StartSSL()
в MySql.Data.MySqlClient.NativeDriver.Open()
в MySql.Data.MySqlClient.Driver.Open()
в MySql.Data.MySqlClient.Driver.Create(MySqlConnectionStringBuilder settings)
в MySql.Data.MySqlClient.MySqlPool.CreateNewPooledConnection()
в MySql.Data.MySqlClient.MySqlPool.GetPooledConnection()
в MySql.Data.MySqlClient.MySqlPool.TryToGetDriver()
в MySql.Data.MySqlClient.MySqlPool.GetConnection()
в MySql.Data.MySqlClient.MySqlConnection.Open()
в Scada.Db.DataSource.Connect()
в Scada.Server.Modules.DbExport.Exporter.Connect()26.09.2022 в 14:20 #25205MikhailМодераторДобрый день!
Не удаётся подключиться к серверу БД. Какая-то проблема при проверке безопасности подключения. Какие у Вас используются параметры подключения?27.09.2022 в 00:45 #25215dnat1970УчастникДобрый!
server=localhost;port=3306;database=gofro;user id=user1;password=12345
2022-09-27 00:00:24 Запуск экспортёра «[1] MySQL localhost»
2022-09-27 00:00:24 Файл состояния экспорта отсутствует
2022-09-27 00:02:28 Экспортёр «[1] MySQL localhost» остановленчуть раньше было так
2022-09-26 23:10:53 Ошибка при соединении с БД:
MySql.Data.MySqlClient.MySqlException (0x80004005): Authentication to host ‘localhost’ for user ‘root’ using method ‘mysql_native_password’ failed with message: Access denied for user ‘root’@’localhost’ (using password: YES) —> MySql.Data.MySqlClient.MySqlException (0x80004005): Access denied for user ‘root’@’localhost’ (using password: YES)
в MySql.Data.MySqlClient.MySqlStream.ReadPacket()
в MySql.Data.MySqlClient.Authentication.MySqlAuthenticationPlugin.ReadPacket()
в MySql.Data.MySqlClient.Authentication.MySqlAuthenticationPlugin.AuthenticationFailed(Exception ex)
в MySql.Data.MySqlClient.Authentication.MySqlAuthenticationPlugin.ReadPacket()
в MySql.Data.MySqlClient.Authentication.MySqlAuthenticationPlugin.Authenticate(Boolean reset)
в MySql.Data.MySqlClient.NativeDriver.Open()
в MySql.Data.MySqlClient.Driver.Open()
в MySql.Data.MySqlClient.Driver.Create(MySqlConnectionStringBuilder settings)
в MySql.Data.MySqlClient.MySqlPool.CreateNewPooledConnection()
в MySql.Data.MySqlClient.MySqlPool.GetPooledConnection()
в MySql.Data.MySqlClient.MySqlPool.TryToGetDriver()
в MySql.Data.MySqlClient.MySqlPool.GetConnection()
в MySql.Data.MySqlClient.MySqlConnection.Open()
в Scada.Db.DataSource.Connect()
в Scada.Server.Modules.DbExport.Exporter.Connect()
2022-09-26 23:10:54 Ошибка при соединении с БД:
MySql.Data.MySqlClient.MySqlException (0x80004005): Authentication to host ‘localhost’ for user ‘root’ using method ‘mysql_native_password’ failed with message: Access denied for user ‘root’@’localhost’ (using password: YES) —> MySql.Data.MySqlClient.MySqlException (0x80004005): Access denied for user ‘root’@’localhost’ (using password: YES)
в MySql.Data.MySqlClient.MySqlStream.ReadPacket()
в MySql.Data.MySqlClient.Authentication.MySqlAuthenticationPlugin.ReadPacket()
в MySql.Data.MySqlClient.Authentication.MySqlAuthenticationPlugin.AuthenticationFailed(Exception ex)
в MySql.Data.MySqlClient.Authentication.MySqlAuthenticationPlugin.ReadPacket()
в MySql.Data.MySqlClient.Authentication.MySqlAuthenticationPlugin.Authenticate(Boolean reset)
в MySql.Data.MySqlClient.NativeDriver.Open()
в MySql.Data.MySqlClient.Driver.Open()
в MySql.Data.MySqlClient.Driver.Create(MySqlConnectionStringBuilder settings)
в MySql.Data.MySqlClient.MySqlPool.CreateNewPooledConnection()
в MySql.Data.MySqlClient.MySqlPool.GetPooledConnection()
в MySql.Data.MySqlClient.MySqlPool.TryToGetDriver()
в MySql.Data.MySqlClient.MySqlPool.GetConnection()
в MySql.Data.MySqlClient.MySqlConnection.Open()
в Scada.Db.DataSource.Connect()
в Scada.Server.Modules.DbExport.Exporter.Connect()27.09.2022 в 14:42 #25227MikhailМодераторОшибка
Access denied for user ‘root’@’localhost’
говорит сама за себя. Сначала нужно добиться корректного подключения к серверу, используя стандартный клиент — MySQL Workbench, установленный на тот же компьютер, где находится SCADA.27.09.2022 в 14:43 #25228MikhailМодераторЕсли в данный момент в логе экспорта нет ошибок, значит экспорт работает.
27.09.2022 в 15:28 #25232dnat1970УчастникИ MySQL Workbench и phpMyAdmin БД видят, позволяет в нее вносить записи и редактировать их. Причем пробовал и с пользователем root и с новым созданным пользователем user1 с полными правами. Есть подозрение что на MySQL включено SSL, но вроде в описании говорится, что это не влияет на подключение клиента если явно в MySql этого не задано. Командной строкой в мониторе обращение к БД то — же нормальное. Почему тогда может происходить конфликт с клиентом SCADA не понятно.
И разъясните что означает лог —
Файл состояния экспорта отсутствует. ?
Влияют ли «Галочки» Включено-Выключено в разделе Свойств «Параметры загрузки архива» на передачу данных27.09.2022 в 15:31 #25233dnat1970УчастникИ посмотрите пожалуйста все ли правильно в запросе «Тригера на текущие данные»
INSERT INTO cnldata (datetime, cnlnum, val, stat)
VALUES (@dateTime, @cnlNum, @val15, @stat15)
Спасибо28.09.2022 в 15:47 #25240MikhailМодераторФайл состояния экспорта отсутствует.
Сделайте скриншот, пожалуйста. Также будет полезен скриншот содержимого папки C:\SCADA\ScadaServer\Log
Если SQL-запрос не правильный, в журнале экспорта появятся соответствующие ошибки.
21.10.2022 в 02:05 #25613dnat1970УчастникДоброго времени!
Не получается побороть экспорт в БД MySQL прошу помочь.
Предыдущую ошибку — System.Security.Authentication.AuthenticationException: Ошибка вызова SSPI, см. внутреннее исключение. —> System.ComponentModel.Win32ExceptionУдалось решить добавлением в строку SQL запроса — SslMode=None;
server=localhost;port=3306;SslMode=None;database=gofroplk;user id=root;password=12345
Тригер на текущие данные
INSERT INTO cnldata (datetime, cnlnum, val, stat)
VALUES (now(), 10, 11, 12)Полагаю что SSL можно было бы отключить и в настройках MySQL — но моего опыта не достаточно чтобы правильно это сделать. Сейчас у меня в логах как будто все нормально, но данные в БД в таблице (cnldata) не появляются — не могу понять причину, может таки опять недонастроены файлы конфигурации MySQL 8.0 (я использовал стандартный установщик с их сайта и оставил установки которые были сделаны при инсталляции)
В общем я не могу понять куда записываются мои данные и записываются ли они -прошу помочь в этом разобратьсяЛог файлы ниже (смущает: Файл состояния экспорта отсутствует я задавал уже этот вопрос для меня непонятно это ошибка или это же норма)
ModDbExport
2022-10-21 01:21:51 Запуск работы модуля ModDbExport
2022-10-21 01:21:51 Карта каналов и КП загружена
2022-10-21 01:21:51 Запуск экспортаModDbExport_001
2022-10-21 01:21:51 Запуск экспортёра «[1] MySQL localhost»
2022-10-21 01:21:51 Файл состояния экспорта отсутствуетModDbExport_001.txt
Состояние экспортёра
———————
Наименование : [1] MySQL localhost
Сервер БД :
Соединение : нормаТекущие данные
—————
Состояние : норма
В очереди : 0 из 1000
Экспортировано : 20
Пропущено : 0Архивные данные
—————
Очередь не используетсяСобытия
——-
Очередь не используетсяПередача архивов
—————-
Отключена
___________________________21.10.2022 в 16:37 #25614MikhailМодераторДобрый день!
«Файл состояния экспорта отсутствует» не является ошибкой.
«Экспортировано : 20» — говорит о том, что экспорт осуществляется. В БД появились какие-то данные?21.10.2022 в 18:08 #25619dnat1970УчастникДобрый — данных нет
Смотрю phpMyAdmin и чз консоль, данные и в консоле и в phpMyAdmin — заносятся в ручном режиме чз SQL запросы и их же в последствии видно, экспортируемых данных нет21.10.2022 в 18:15 #25620dnat1970УчастникПопробовал добавить к запросу в форме принадлежность таблицы cnldata к созданной мною базе gofroplk — результата то же не получил
INSERT INTO gofroplk.cnldata (datetime, cnlnum, val, stat)
VALUES (now(), 10, 11, 12);
Добавил для эксперимента «;» в конце запроса — разницы не увидел21.10.2022 в 18:18 #25621dnat1970УчастникБазу данных и таблицы создавал из консоли использую SQL запросы которые находятся на сайте
— Удалить таблицу данных входных каналов, если она существует
DROP TABLE IF EXISTS cnldata;— Создать таблицу данных входных каналов
CREATE TABLE cnldata (
datetime DATETIME NOT NULL,
cnlnum INT NOT NULL,
val DOUBLE NOT NULL,
stat SMALLINT UNSIGNED NOT NULL,
PRIMARY KEY (datetime, cnlnum)
) ENGINE=InnoDB;CREATE INDEX idx_cnldata_cnlnum ON cnldata (cnlnum);
— Удалить таблицу событий, если она существует
DROP TABLE IF EXISTS events;— Создать таблицу событий
CREATE TABLE events (
datetime DATETIME NOT NULL,
objnum INT NOT NULL,
kpnum INT NOT NULL,
paramid INT NOT NULL,
cnlnum INT NOT NULL,
oldcnlval DOUBLE NOT NULL,
oldcnlstat SMALLINT UNSIGNED NOT NULL,
newcnlval DOUBLE NOT NULL,
newcnlstat SMALLINT UNSIGNED NOT NULL,
checked TINYINT UNSIGNED NOT NULL,
userid INT NOT NULL,
descr CHAR(100),
data CHAR(50)
) ENGINE=InnoDB;CREATE INDEX idx_events_datetime ON events (datetime);
CREATE INDEX idx_events_objnum ON events (objnum);
CREATE INDEX idx_events_kpnum ON events (kpnum);
CREATE INDEX idx_events_cnlnum ON events (cnlnum);21.10.2022 в 18:28 #25622dnat1970УчастникДобавил триггер на архивные данные Лог файл показывает что все происходит нормально — но в БД данные не попадают
Состояние экспортёра
———————
Наименование : [1] MySQL localhost
Сервер БД :
Соединение : нормаТекущие данные
—————
Состояние : норма
В очереди : 0 из 1000
Экспортировано : 11
Пропущено : 0Архивные данные
—————
Состояние : норма
В очереди : 0 из 1000
Экспортировано : 15
Пропущено : 0События
——-
Очередь не используетсяПередача архивов
—————-
Готовность : да
Индекс : 644
Дата : 21.10.2022
Мин. время : —
Макс. время : —
В очереди : —
Отправлен : 21.10.2022 18:24:0021.10.2022 в 18:31 #25623dnat1970УчастникИнформация о MySQL
Сервер: localhost via TCP/IP
Тип сервера: MySQL
Соединение сервера: SSL не используется Документация
Версия сервера: 8.0.30 — MySQL Community Server — GPL
Версия протокола: 10
Пользователь: user1@localhost
Кодировка сервера: UTF-8 Unicode (utf8mb4) -
АвторСообщения
- Вы должны авторизироваться для ответа в этой теме.