Hallo, ich bin noch recht frisch und der Datenbank Thematik und bitte daher um Nachsicht.
Ich habe mir eine Datenbank erstellt und dort eine Tabelle names "Measurement" angelegt
und eine Prozedur namens sensor_insert
Wenn ich nun von meinem Sensor(ESP8266) die Prozedur aufrufe bekomme ich im General log und error log folgende nachricht
ERRORLOG
2025-01-03 15:27:14 38 [Warning] Aborted connection 38 to db: 'unconnected' user: 'Sensor' host: '192.168.4.3' (Got an error reading communication packets)
2025-01-03 15:27:27 48 [Warning] IP address '192.168.4.3' could not be resolved: Temporary failure in name resolution
GENERALLOG
Connect Sensor@192.168.4.3 on using TCP/IP
CALL sensor_insert(4,4,84,60,99,70,10,30.66,61,97.69,20.03,96)
Wenn ich dann in die Tabelle Measurement gucke ist dort keine neue Zeile.
Wenn ich die Procedur (mit dem Gleichen User wie im C Script) im Sequel ACE aufrufe funktioniert es wunderbar.
Ich habe mir eine Datenbank erstellt und dort eine Tabelle names "Measurement" angelegt
Code:
CREATE TABLE `Measurement` (
`insertat` timestamp NULL DEFAULT current_timestamp(),
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`IDS` tinyint(3) unsigned DEFAULT NULL,
`IDB` tinyint(3) unsigned DEFAULT NULL,
`IDC` tinyint(3) unsigned DEFAULT NULL,
`MoistMin` tinyint(3) unsigned DEFAULT NULL,
`Moist` tinyint(3) unsigned DEFAULT NULL,
`MoistMax` tinyint(3) unsigned DEFAULT NULL,
`HumMin` tinyint(3) unsigned DEFAULT NULL,
`Humidity` tinyint(3) unsigned DEFAULT NULL,
`HumMax` tinyint(3) unsigned DEFAULT NULL,
`Airpressure` int(10) unsigned DEFAULT NULL,
`Temperature` float DEFAULT NULL,
`Light` tinyint(3) unsigned DEFAULT NULL,
`MoistAcition` int(11) GENERATED ALWAYS AS (if(`Moist` > `MoistMax`,2,if(`Moist` < `MoistMin`,0,1))) VIRTUAL,
PRIMARY KEY (`id`),
KEY `time_idx` (`insertat`),
KEY `IDBC_idx` (`IDB`,`IDC`)
) ENGINE=InnoDB AUTO_INCREMENT=906 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
und eine Prozedur namens sensor_insert
Code:
DELIMITER ;;
CREATE DEFINER=`Supervisor`@`%` PROCEDURE `sensor_insert`(
IN IDB INT,
IN IDC INT,
IN IDS INT,
IN MoistMin INT,
IN Moist INT,
IN MoistMax INT,
IN HumMin INT,
IN Humidity DOUBLE,
IN HumMax INT,
IN Airpressure DOUBLE,
IN Temperature DOUBLE,
IN Light INT
)
BEGIN
INSERT INTO GA_MK23.Measurement
(IDB, IDC, IDS, MoistMin, Moist, MoistMax, HumMin, Humidity, HumMax, Airpressure, Temperature, Light)
VALUES (IDB, IDC, IDS, MoistMin, Moist, MoistMax, HumMin, Humidity, HumMax, Airpressure, Temperature, Light);
END;;
DELIMITER ;
Wenn ich nun von meinem Sensor(ESP8266) die Prozedur aufrufe bekomme ich im General log und error log folgende nachricht
ERRORLOG
2025-01-03 15:27:14 38 [Warning] Aborted connection 38 to db: 'unconnected' user: 'Sensor' host: '192.168.4.3' (Got an error reading communication packets)
2025-01-03 15:27:27 48 [Warning] IP address '192.168.4.3' could not be resolved: Temporary failure in name resolution
GENERALLOG
Connect Sensor@192.168.4.3 on using TCP/IP
CALL sensor_insert(4,4,84,60,99,70,10,30.66,61,97.69,20.03,96)
Wenn ich dann in die Tabelle Measurement gucke ist dort keine neue Zeile.
Wenn ich die Procedur (mit dem Gleichen User wie im C Script) im Sequel ACE aufrufe funktioniert es wunderbar.