Hallo, EleLa geht in die nächste Runde, ab nun steht die erste Varianten von V3.1 zur Verfügung. Die Änderung ist dass man nun unter Gehäuse/Lager sich je Bauteil technische Infos mit anlegen kann. Die Daten werden als JSON Format in der Datenbank abgelegt. Im Prinzip ist es nur eine Spalte mehr, jedoch birgt diese kleine Änderung der Datenstruktur ein paar Besonderheiten, denn der SQL Server muss das JSON Format ebenfalls unterstützen. Die neue EXE läuft aktuell mit: - SQLite, aktuelle DLL Version ist mit im ZIP - MariaDB ab V10.2 Könnte gehen, jedoch nicht getestet: - MySQL ab V5.7 - MsSQL ab Version 2016 Geht noch nicht: - PostgreSQL Vor dem Update wie immer ein Backup erstellen. Bei einem SQL Server Update am besten vorher die Datenbank als SQLite Version exportieren. Die EXE V3.1.18C24 gibt es hier: http://www.mmvisual.de/elela - Win32 - Win64 Wenn der SQL Server das JSON Format nicht kennt so wird das Update 65 fehl schlagen. Bei diesem Fehler kann problemlos EleLa V3.0 weiter verwendet werden, dieses Update wurde absichtlich recht kurz gehalten, da werden auch keine Daten manipuliert, damit jederzeit V3.0 wieder/noch funktioniert. Ein Mischbetrieb mit V3.0/V3.1 EXE ist kein Problem. Die Bedienung: Die technischen Daten können eingegeben/geändert werden indem das Häkchen "Ändern" aktiviert wird. Die Linke Spalte ist der Parameter, wenn ein Parameter einmalig eingegeben wurde, so wird dieser in der Datenbank gemerkt und bei einem anderen Bauteil kann dieser gleiche in einer Drop-Down Box ausgewählt werden, es ist wichtig dass die Bezeichner immer gleich heißen, denn man möchte in einem späteren Schritt danach suchen. Im rechten Feld trägt man den Wert ein. Mit speichern vom Datensatz ist die Eingabe gespeichert. Intern werden diese Daten als JSON Format gespeichert, die Datenbanken kennen dieses Format und können damit umgehen als wäre jede Zeile der technischen Daten eine separate Tabellenspalte. Ist im Prinzip eine coole Sache, erfordert jedoch eine entsprechendes Datenbank-System, was dies auch unterstützt. Ich habe mich dazu entschlossen dies nun rein zu machen damit EleLa auch für die Zukunft besser gerüstet ist. Die zweite Änderung: Bei Lieferanten werden nur noch die Preisstaffeln des im "Gehäuse/Lager" ausgewählten Bauteils gezeigt. Bei vielen Teilen wurde es doch sehr unübersichtlich. Die Zukunft: - Erweiterung der "Suche - F5" um in den Parametern suchen zu können - Konfigurationsdialog um die eingegebenen Parameter-Namen anpassen zu können, derzeit stehen die bereits in der "param" Tabelle. Frohe Weihnachten Markus.
Hi Markus, ja ist denn scho Weihnachten ;-) Danke dir für deine Entwicklung! Top!
Markus M. schrieb: > Im Prinzip ist es nur eine Spalte mehr, jedoch birgt diese kleine > Änderung der Datenstruktur ein paar Besonderheiten, denn der SQL Server > muss das JSON Format ebenfalls unterstützen. Wenn das tatsächlich ein Problem sein sollte, taugt entweder der SQL-Server oder die JSON-Struktur nix (wofür auch immer man hier JSON brauchen sollte...). Sorry, aber das ist das logische Excerpt deines Statements... Oder bezog sich das nur auf "Abwärtskompatibilität"? Dann: logisch, eine nicht vorhandene Spalte kann man natürlich nicht verwenden. Dann sollte aber, eben wegen der Abwärts-Kompatibilität ein entsprechender Upgrade-Mechanismus eingebaut sein. Sprich: der Code hat zu kontrollieren, ob die Datenstruktur des Backend seinen Erwartungen entspricht, und falls nicht, entsprechend zu ergänzen, ggf. natürlich auch erst nach Rückfrage und mit Admin-Rechten. Das schafften und schaffen Zehntausende von DB-Anwendungen problemlos über mehrere Jahrzehnte ihrer Entwicklung hinweg. Die benutzen allerdings weit überwiegend auch nicht JSON. Wozu auch? Das braucht man nur, wenn man das DB-Backend übermäßig abstrahieren will. Wozu will man das? Typisch reicht eine Abstraktion auf etwa der Ebene von ODBC vollkommen aus (und ist obendrein vielfach effizienter als dieses JSON-Gesülze, was letztlich meist auch wieder nur genau darauf zugreift). Die Frage ist also eigentlich: Wozu, zum Teufel, ist JSON eigentlich nützlich?
NOSQL Datenbanken arbeiten mit Datensätzen in der Regel mit JSON Struktur. Es sind einfache Text-Blöcke mit irgend welchen Parametern. So eine Datenbank eignet sich hervorragend um z.B. einen Webshop auf zu bauen, wo man tausende von Produkten mit unterschiedlichste Parameter hat. Beispiel: https://de.farnell.com/omron-electronic-components/g3vm-41gr5/relay-mosfet-sop-spst-no-40v-0/dp/2065747?ICID=I-HP-PP-OMRON-G3VM-WF1632772/omron-electronic-components/g3vm-41gr5/relay-mosfet-sop-spst-no-40v-0/dp/2065747?ICID=I-HP-PP-OMRON-G3VM-WF1632772 bei "Produktspezifikationen" In so eine Datenbank kann man problemlos alle Technischen Parameter rein bekommen und sogar danach suchen und das auch noch blitzschnell, da die Datenbank das JSON Format optimiert verwalten kann. Seit 2008 wurde das JSON Format in der SQL Spezifikation mit verankert und seither haben die meisten Datenbanken diese neue (ähm ,jetzt 10 Jahre alte) Spezifikation übernommen. Der Vorteil liegt daher darin dass man herkömmliche Tabellen mit zusätzlichen Spalten im JSON Format kombinieren kann, damit kann man eine unbegrenzte Anzahl von Teilespezifischen Parametern in der Datenbank hinterlegen und mit Standard SQL Befehlen auch danach suchen. Es kombiniert somit eine herkömliche Tabellenstruktur mit der Mächtigkeit einer NOSQL Datenbank (z.B. Mongo-DB). Beispiel eines SQL Befehls um in einen JSON Datensatz mit einem bestimmten Parameter zu finden:
1 | SELECT JSON_EXTRACT(TecData, '$.Strom') AS TC, bauteillager.* FROM bauteillager |
2 | WHERE JSON_EXTRACT(TecData, '$.Strom') LIKE '%100%' |
Hier wird in der Spalte TecData, nach dem JSON Parameter "Strom" gesucht, der Wert muss 100 enthalten. Alle Datensätze die diesen Parameter erst gar nicht haben treffen schon mal nicht zu. Wie man sieht kann mit einfach Mitteln was ein SQL Server von Haus aus bietet komplexe Abfragen sehr einfach lösen. Auch Kombinationen von mehreren JSON Parametern sind somit kein Problem mehr. Der nächste Vorteil ist, dass Webanwendungen dieses JSON Format ebenfalls sehr gut unterstützen, z.B. wenn man andere Programme an EleLa anbinden möchte - weil es einfach ein Standard ist. Nur leider hat Microsoft den SQL Standard von 2008, erst 2016 implementiert und MySQL in V5.7 ist der nicht richtig drin, erst ab V8. MariaDB macht das bereits seit V10.2 und hat sogar noch zusätzliche JSON Befehle mit dabei. SQLite unterstützt JSON ab V3.9 (aktuell ist SQLite in V3.25), also auch schon lange. Es kam immer mal wieder der Wunsch bauteilspezifische Parameter mit hinzufügen zu können, daher diese Erweiterung. Vor ein paar Monaten lernte ich erst die Vorzüge von NOSQL Datenbanken kennen, es gibt dazu einige gute Youtube Videos. Und ich lernte kennen wie man die NOSQL Vorzüge sehr einfach in einer SQL Datenbank nutzen kann. Und ja, EleLa ist abwärtskompatibel zu allen anderen V3 Versionen ;-) Updates macht EleLa selbstständig - sofern der Datenbanklogin, den EleLa nutzen darf entsprechende Rechte besitzt. Hat EleLa nicht die Rechte oder kennt die Datenbank die zusätzliche JSON Befehle nicht, so schlägt das Update fehl - und man kann problemlos die Vorgängerversion (EleLa V3.0) weiter nutzen. c-hater schrieb: > Wozu, zum Teufel, ist JSON eigentlich nützlich? JSON in EleLa ist teuflisch gut ;-)
Huhu, also vorab will ich sagen, dass dieses Tool der absolute Hammer ist!?? Bin absolut zufrieden! Ich hab aber noch ne Frage? und zwar ich hab jetzt vorgestern ein MySQL Server auf nem Raspberry Pi realisiert und es läuft alles top. Kann mit meinem PC drauf zugreifen, läuft? nur eine Sache hab ich nicht hinbekommen. Wenn ich auf dem Pi ein Bauteil anlege, bekomme ich die Änderung nicht auf meinem Windows PC sofort angezeigt. Entweder hab ich bei der Einrichtung irgendwas verbockt oder ich kapiere es nicht. Das neue Teil bekomme ich nur angezeigt wenn ich das Programm neustarte.? Geht das mit dem live anzeigen überhaupt? Mit freundlichen Grüßen und frohe Weihnachten Kai
Rechtsklick auf der Tabelle -> Aktualisieren. Das geht bei jeder Tabelle. Automatisch macht das EleLa nicht, außer wenn eine Menge von einem Bauteil geändert wird, da fragt EleLa zuvor immer die Datenbank nochmal ab.
Ahh cool?? danke. Bin auf jeden Fall gespannt ob das später so alles funktioniert wie ich mir das denke?. Warte nun auf die Komponenten und das Display.
******************************************************** ** Wichtig! ** ******************************************************** Noch ein Hinweis wie man die technischen Daten eingeben sollte, damit die Suche die gewünschte Ergebnisse liefern kann. Sofern es sich um einen Zahlen-Parameter handelt: Die Bezeichnung des Parameters sollte die Maßeinheit mit beinhalten, ich habe diese z.B. in [] geschrieben. ("Strom [A]") Die Werte sollte als reine Zahlenwerte eingegeben werden. Ob man den Dezimaltrenner als . oder , eingibt ist egal, 1000-Trennzeichen dürfen nicht verwendet werden. Nach der Zahl darf kein Text mehr sein. EleLa prüft die Eingabe nicht, denn man kann hier problemlos Texte eingeben. In den Bildern habe ich die Eingabe gezeigt, wie man die Daten eingibt, im zweiten Bild ist die dazu gehörige SQL Abfrage, so wie diese später in der Suche verwendet wird. Die Eingabe wird in der Datenbank während der Abfrage von einem String in eine Zahl konvertiert, anschließend der Wert verglichen. Bei der Konvertierung String in Zahl wird automatisch noch eine Komma-Eingabe in ein Punkt gewandelt, damit die Konvertierung in eine DOUBLE Zahl auch klappt. Das wird dann später so in der EleLa Dokumentation stehen.
:
Bearbeitet durch User
Hallo, dieses Tool funktioniert sehr gut, würde dafür auch gerne etwas bezahlen. Wir fertigen kleine Stückzahlen, aber in der Regel viele verschiedene Bauteile die nicht alle auf die Bestückungsmaschine passen. Dafür fräsen wir uns Schablonen in die dann Gurtabschnitte befestigt werden. Dazu ist wichtig bei SMD Bauteilen die Verpackung zu kennen. Es wäre schön wenn man zur Bauteilinfo auch die Gurtbreite, Bauteilabstand und Gesamtgurtdicke eingeben könnte.
Hallo Peter, Dankeschön! Wegen Bezahlen, mir eine Mail schreiben oder per Paypal an die E-Mail Adresse wie es in der EXE bei Extras->Info steht. Diese Daten der SMD Verpackung kann man zusätzlich als Grafik zum "Gehäuse-F5" hinzufügen und da kann man im Handbuch ein PDF zum Gehäuse / der Verpackung hinzufügen. Dieses Gehäuse ist dann dem Bauteil->Gehäuse/Lager zugeordnet und somit ist die Grafik auch unter Projektpositionen ersichtlich. Alternativ könnten weitere Daten ab EleLa V3.1 in Bauteil > Gehäuse/Lager als "Technische Daten" eingetragen werden, die werden dann (aktuell noch nicht) bei Projektposition ebenfalls mit eingeblendet.
Hallo Markus, wirklich ein tolles Tool. Ich habe mit der lokalen sqlite-3 Datenbank angefangen und wollte nun auf MariaDB 10.3 umsteigen. Beim Import der sqlite-3 Datenbank bekomme ich folgende Fehlermeldung: SQL Error: Data too long for column 'Wert' at row1 (mnDBExportClick|TfrmImportExport.btnImportClick|Tbl:projektpos ID:8)/( $0000000010005E762) Danke und Grüße, Ben
Erst einmal die aktuelle SQLite Datenbankdatei zippen, zur Sicherung. In der Tabelle "projektpos" in dem Datensatz mit der ID=8 ist in der Spalte "Wert" ein zu langer Text drin. Dies kann mit EleLa folgendermaßen korrigiert werden: Die Datenbank nochmal mit EleLa als SQLite öffnen und: Unter Extras->Datenbank kann der SQL Befehl:
1 | SELECT * FROM projektpos WHERE ID=8 |
eingegeben werden. Dann die Taste "Execute" drücken. Dann sollte eine einzige Zeile erscheinen, die Spalte "Wert" darf nicht mehr als 50 Zeichen enthalten (wobei UTF-8 Zeichen bis zu 4 Byte je Zeichen einnehmen können, z.B. Umlaute). Man kann in dieser Ansicht den Text in der Spalte "Wert" somit verkürzen und dann den Datensatz speichern. Anschließend kann man die korrigierte SQLite Datenbank in MariaDB importiert werden. Einfach den Import erneut ausführen, EleLa überschreibt dann alle Daten wieder. Das Problem kommt daher, dass in SQLite so ziemlich alles ohne spezielle Prüfung in die Datenbank rein geht, andere Datenbanken sind da strenger.
:
Bearbeitet durch User
Die Suche anhand der "Technischen Daten" mit "Suchen-F5". Ich hatte mir ein paar Tage lang überlegt wie die Eingabe am Sinnvollsten und Effizientesten ist, das ist dabei heraus gekommen ?? - Mit der "Zahnrad Taste" können beliebig viele technische Daten Abfragen hinzugefügt werden. Jedes mal wenn man da drauf drückt kommt eine neue leere Zeile. Je Zeile: - Taste "-" löscht die Zeile wieder - DropDown Auswahlfeld wählt den Parameter aus, den man zuvor in Gehäuse/Lager als technische Daten eingegeben hat - Zahl / Text interpretiert die Suche als Zahl oder Text. Wobei eine Zahl immer als Double Zahl gerechnet wird - ">=" Eingabe optional Von Wert - "=" Eingabe optional Exakter Wert, wobei bei Texteingabe ein "*" als Wildcard verwendet werden kann. - "<=" Eingabe optional Bis Wert - Aktiv bedeutet dass diese 3 Werte-Begrenzer aktiv sind, damit kann man sie inaktiv schalten um zu sehen was die Datenbank so zeigt ohne dass man den Parameter löschen muss. Tabelle: - Je ausgewählten Parameter wird eine Spalte mit dem Parametername eingeblendet. Mit diesen Spalten kann man auch sortieren. Getestet aktuell mit: SQLite / MariaDB 10.3 EXE V3.1.18C28 ist als Win32/Win64 im Download Ordner verfügbar. http://www.mmvisual.de/elela ... Die technischen Daten werden in EleLa demnächst noch weiter ausgebaut - Projekt Position mit eingeblendet - Filtern bei Suche bei "Typ-F8"
Nun sind die "technischen Daten" in allen EleLa Teilen eingebunden: - Bauteil-F2 > Gehäuse/Lager: Eingabe der technischen Daten je Bauteil - Suche-F5 (TecData3.png): Filtern anhand den technischen Daten & Ansicht aller technische Daten je Bauteil - Typ-F8 (TecData4.png): zusätzlich zum Typ nun auch Filtern anhand technischen Daten & Ansicht aller technische Daten je Bauteil. Die Gehäuse-Liste wird entsprechend mit angepasst. - ProjektPos / GerätePos (TecData5.png): Ansicht der Technischen Daten wenn man diese im "Extras" Menü aktiviert. - Bauteil Auswahldialog: Anzeige der technischen Daten wenn ein Bauteil ausgewählt wird. (z.B. bei Bestellung oder ProjektPos) Die EleLa V3.1.18C29 kann hier geladen werden: http://www.mmvisual.de/elela - Win32/Win64 - Datenbank: SQLite/MariaDB V10.3 Wer nicht genau weiß welche Datenbank man nutzt, EleLa zeigt die Versions-Info unter Extras-F10 > Log nach jedem Start an: 19:31:45 29.12.18 Start program V3.1.18C29-64 19:31:45 IDE: Lazarus LCL 1.8.4.0, Free Pascal FPC 3.0.4, Zeos 7.2.5-rc 19:31:45 Compile: 28.Dez.2018 22:14:31 SVN: 255 : : : 19:31:47 Connect database... 19:31:47 DB.Version: SQLite-DLL: 3.26.0 / MySQL: 10.3.7-MariaDB 19:31:47 Database Version: V3.1.18B29 19:31:48 Database connected. In diesem Beispiel ist Maria-DB mit V10.3.7 aktiv und die SQLite DLL V3.26.0 mit vorhanden. (Die aktuelle SQLite DLL ist mit im ZIP vom Download.)
Markus M. schrieb: > Dann sollte eine einzige Zeile erscheinen, die Spalte "Wert" darf nicht > mehr als 50 Zeichen enthalten (wobei UTF-8 Zeichen bis zu 4 Byte je > Zeichen einnehmen können, z.B. Umlaute). > Man kann in dieser Ansicht den Text in der Spalte "Wert" somit verkürzen > und dann den Datensatz speichern. Super, danke. Das hat funktioniert.
Noch eine Frage zu dem Tab Geräte. Ich habe aus dem vorherigen Thread zur v3.0 entnommen, dass diese Funktion noch nicht volständig implentiert ist. Aber gibt es momentan überhaupt einen Unterschied, ob ich ein Projekt oder ein Gerät anlege? Ein Projekt lässt sich nämlich noch keinem Gerät zuweisen oder übersehe ich etwas?
Nein, momentan gibt es noch keine Unterschiede zwischen Projekt und Gerät. Aktuell vorgesehen ist, dass man ein Projekt mit einem Bauteil verknüpfen kann. Wenn dieses Projekt gefertigt wird, so wird automatisch die Menge unter Bauteil > Gehäuse/Lager erhöht. Nun kann dieses Bauteil (=gefertigtes Projekt) wieder in einem anderen Projekt oder Gerät weiter verwendet werden, so wie andere Bauteile auch. Das Problem, bzw. was EleLa aktuell noch nicht kann ist: Wenn dieses selbst gefertigte Bauteil (aus Projekt) zu wenig Lagerbestand hat und man möchte es bestellen, dann geht es in die Bestell-Liste und es wird nicht gezeigt dass dieses Bauteil eigentlich nicht bestellt werden kann, da Eigenproduktion (aus einem anderen Projekt). Diese Erkennung "Bauteil wird gefertigt aus anderem Projekt" fehlt leider noch. Aktuell kann man sich nur damit behelfen, dass das Bauteil einen entsprechenden Bezeichnung erhält, z.B. "Netzteilplatine [Eigenprod]". Ich selbst nutze den Abschnitt "Geräte" aktuell nicht, daher ist es leider noch nicht so weit wie ich schon vor längerer Zeit geplant hatte.
Hm ok. Das ist ziemlich genau die Beschreibung zu dem was ich suche. Aber wie kann ich ein Projekt als Bauteil kennzeichnen und dieses Bauteil in einem weiteren Projekt weiterverwenden? Muss ich dazu das Ausgangsprojekt zuerst Versionieren?
Nein, die Version ist etwas anderes. Versionieren: Wenn man z.B. ein Projekt zur Produktion gibt, dann erstellt man eine Version vom Projekt. Damit werden die Positionen gesperrt für Änderungen. Nun sind noch Bugs in der Bestückung und man muss einzelne Bauteile abändern. Dann muss man das Projekt frei geben für Änderungen und man kann die Bauteile nochmal korrigieren. Damit sind die Änderungen in EleLa dokumentiert. Bevor es in die nächste Produktionsrunde geht kann man den Stand wieder versionieren. Bei einer neuen Version sollte man am Besten ein neues Bauteil unter "Gehäuse/Lager" anlegen, damit es auch hier klar ist dass es nicht das "alte" Board ist. Bei Projekt muss dazu ebenfalls das andere Bauteil verknüpft werden. Am besten einmal mit einer Test-Datenbank damit üben. Man kann dazu das EleLa Verzeichnis kopieren und in der Konfiguration von EleLa (Extras>Log>Optionen>Datenbank) eine andere Datenbankverbindung anlegen und sich die Datenbank danach kopieren. Damit man bei den Datenbanken nicht durcheinander kommt und immer sofort weiß womit man verbunden ist kann man in der Titelleiste der EXE dies anzeigen lassen, es wird in den Optionen konfiguriert, siehe Bild.
Servus, leider funktioniert die neue Version bei mir nicht. Schein ein Problem mit der Datenbank bzw. auch mit der Software zu sein. Nutze ich meine MySQL (V5.7.18) Online Datenbank konvertiert er zwar die Datenbank kann sie danach aber nicht öffnen, gleiches passiert wenn ich die Datenbank von V3.1 neu anlegen lasse:
1 | 20:49:28 --------- |
2 | 20:49:28 30.12.18 Start program V3.1.18C29-64 |
3 | 20:49:28 IDE: Lazarus LCL 1.8.4.0, Free Pascal FPC 3.0.4, Zeos 7.2.5-rc |
4 | 20:49:28 Compile: 28.Dez.2018 22:14:31 SVN: 255 |
5 | 20:49:28 Use INI file: C:\EleLa\EleLa.ini |
6 | 20:49:28 Parameter [DB] Protocol=mysql-5 |
7 | 20:49:28 Parameter [DB] HostName=xxx.xxx.xxx.xxx |
8 | 20:49:28 Parameter [DB] Port=3306 |
9 | 20:49:28 Parameter [DB] Database=elela |
10 | 20:49:28 Parameter [DB] User=xxxxxx |
11 | 20:49:28 Parameter [DB] Password=***** |
12 | 20:49:28 Parameter [Programm] VorlageDir=C:\EleLa\Vorlage\ |
13 | 20:49:28 Parameter [Programm] TempDir=C:\EleLa\Temp\ |
14 | 20:49:28 Parameter [Programm] QueryCancel=1 |
15 | 20:49:28 Parameter [Programm] VersionCheck=1 |
16 | 20:49:28 Parameter [Bauteil] DefHandbuchDir=C:\EleLa\Handbuch |
17 | 20:49:28 Parameter [Projekt] DefHandbuchDir=C:\EleLa\Projekt |
18 | 20:49:28 Parameter [Projekt] GeraetDefHandbuchDir=C:\EleLa\Gerät |
19 | 20:49:28 Parameter [Projekt] DokuDefHandbuchDir=C:\EleLa\Doku |
20 | 20:49:31 Connect database... |
21 | 20:49:31 DB.Version: SQLite-DLL: 3.26.0 / MySQL: 5.7.18 |
22 | 20:49:31 Database Version: V3.0.17A12 |
23 | 20:49:31 Do Update 65 from Database. |
24 | 20:49:31 CreateNewField (kiste,ID_ID,INTEGER) |
25 | 20:49:34 CreateNewField (bauteillager,TecData,JSON) |
26 | 20:49:35 Update 65 finish. |
27 | 20:49:36 New Database Version: V3.1.18B29 |
28 | 20:49:37 Error: Cannot open database! Unknown MySQL data type! (TypTreeOpen) |
Die alte Version kann danach auch nicht mehr zugreifen
1 | 20:50:48 --------- |
2 | 20:50:48 30.12.18 Start program V3.0.18B15-64 |
3 | 20:50:48 IDE: Lazarus LCL 1.8.4.0, Free Pascal FPC 3.0.4, Zeos 7.2.4-stable |
4 | 20:50:48 Compile: 28.Okt.2018 10:16:53 SVN: 224 |
5 | 20:50:48 Use INI file: C:\EleLa\EleLa.ini |
6 | 20:50:48 Parameter [DB] Protocol=mysql-5 |
7 | 20:50:48 Parameter [DB] HostName=xxx.xxx.xxx.xxx |
8 | 20:50:48 Parameter [DB] Port=3306 |
9 | 20:50:48 Parameter [DB] Database=elela |
10 | 20:50:48 Parameter [DB] User=xxxxxx |
11 | 20:50:48 Parameter [DB] Password=***** |
12 | 20:50:48 Parameter [Programm] VorlageDir=C:\EleLa\Vorlage\ |
13 | 20:50:48 Parameter [Programm] TempDir=C:\EleLa\Temp\ |
14 | 20:50:48 Parameter [Programm] QueryCancel=1 |
15 | 20:50:48 Parameter [Programm] VersionCheck=1 |
16 | 20:50:48 Parameter [Bauteil] DefHandbuchDir=C:\EleLa\Handbuch |
17 | 20:50:48 Parameter [Projekt] DefHandbuchDir=C:\EleLa\Projekt |
18 | 20:50:48 Parameter [Projekt] GeraetDefHandbuchDir=C:\EleLa\Gerät |
19 | 20:50:48 Parameter [Projekt] DokuDefHandbuchDir=C:\EleLa\Doku |
20 | 20:50:50 Connect database... |
21 | 20:50:50 DB.Version: SQLite-DLL: 3.25.2 / MySQL: 5.7.18 |
22 | 20:50:50 Database Version: V3.1.18B29 |
23 | 20:50:52 Error: Cannot open database! Unknown MySQL data type! (qBauteil) |
lasse ich die 3.1 mit lokaler Datenbank laufen funktioniert zwar die Verbindung zur Datenbank jedoch kann ich meine vorher exportierten Daten nicht einlesen. Der Button ist nicht aktiv. Grüße TheBit
Den Fehler: "Unknown MySQL data type!" kenne ich. Der kommt bei der MySQL Datenbank - noch. Ich habe zu den Komponenten Entwicklern der Datenbank Komponente bereits ein Bugreport geschrieben. Hingegen bei der aktuellen MariaDB (was eigentlich identisch sein sollte) funktioniert die Datenbankverbindung. Am Besten noch etwas Abwarten mit V3.1, das wird noch korrigiert. Die neue EXE hat den Update der Datenbank gemacht weil MySQL den Feldtyp "JSON" bereits kennt: "CreateNewField (bauteillager,TecData,JSON)" Jedoch leider akzeptiert die Datenbank Komponente diesen Typ noch nicht bei der Datenabfrage. Es gibt nun 2 Möglichkeiten: - Entweder, wenn ein Backup vorhanden ist, die Datenbank löschen und von EleLa neu anlegen lassen und das Backup einspielen - oder die Datenbank manuell zurück ändern auf "Vor Update", da kann ich auch gerne Helfen. (Das eine Feld "TecData" löschen und die Datenbank-Version um 1 Tag zurück setzen.)
:
Bearbeitet durch User
Servus Markus, ich bin wieder zurück auf 3.0.18B15, Datenbank hatte ich vorher gesichert. Letzteres mache ich allerdings im phpMyAdmin direkt. Was mich allerdings immer noch wundert das ich auch bei der lokalen Variante mit sqlite Datenbank das Backup aus der Vorherigen Version nich einspielen kann da der Button ausgegraut bleibt. René
Die EXE meint wegen der internen Exception dass sie nicht korrekt starten konnte, dann sperrt sie sich weg, nicht dass man mit einer halb gestarteten EXE sich noch die Daten kaputt macht. Es ist eine Sicherheitsmaßnahme die ich schon seit V1.x eingebaut hatte. Und sie wirkt gut, wie man sieht ;-)
Hi Markus, hmmm lokal hatte ich doch die Datenbank mit der 3.1 in einem anderen Verzeichnis komplett neu als sqlite erstellt und wollte dann die Daten aus der V3.0 importieren. Ich habe jetzt die backup DB aus der 3.0 ins Verzeichnis der 3.1 kopiert und dann umbenannt. V3.1 öffnet die Datei macht das update auf V65und ich könnte auch damit arbeiten. Allerdings bleibt der Export/Import Button ausgegraut. ich hatte das auch mit ner V3.0.18B22 probiert. Auch dort bleibt nach einem Start ohne .ini File (wird beim Start erzeugt) und ner automatisch neu erzeugten sqlite DB der Export/Import Button ausgegraut.
1 | 01:06:27 31.12.18 Start program V3.0.18B22-64 |
2 | 01:06:27 IDE: Lazarus LCL 1.8.4.0, Free Pascal FPC 3.0.4, Zeos 7.2.4-stable |
3 | 01:06:27 Compile: 28.Okt.2018 10:16:53 SVN: 231 |
4 | 01:06:27 Use INI file: C:\ele\EleLa.ini |
5 | 01:06:27 Parameter [DB] Protocol=sqlite-3 |
6 | 01:06:27 Parameter [DB] Database=EleLa.sq3 |
7 | 01:06:27 Parameter [Programm] VorlageDir=C:\ele\Vorlage\ |
8 | 01:06:27 Parameter [Programm] TempDir=C:\ele\ |
9 | 01:06:27 Parameter [Bauteil] DefHandbuchDir=C:\ele\Handbuch |
10 | 01:06:27 Parameter [Projekt] DefHandbuchDir=C:\ele\Projekt |
11 | 01:06:27 Parameter [Projekt] GeraetDefHandbuchDir=C:\ele\Gerät |
12 | 01:06:27 Parameter [Projekt] DokuDefHandbuchDir=C:\ele\Doku |
13 | 01:06:29 Connect database... |
14 | 01:06:29 DB.Version: SQLite-DLL: 3.25.2 |
15 | 01:06:29 Database Version: V3.0.17A12 |
16 | 01:06:29 Database connected. |
:
Bearbeitet durch User
Da habe ich Dich wohl etwas missverstanden. Bei SQLite gibt es kein Import-/Export, denn da ist die Datenbank-Datei bereits als Datei direkt verfügbar die man nur noch weg kopieren braucht. Das Import/Export braucht es nur für SQL Server, damit man die Daten von da in ein für EleLa transparentes Format auslesen kann, dieser Export erzeugt eine SQLite Datenbank, die wiederum wieder direkt mit EleLa genutzt werden kann. Quelle: SQLite Datenbank Datei Import in: irgend ein SQL Server, den EleLa unterstützt Export aus: irgend einem SQL Server, den EleLa unterstützt Ziel: SQLite Datenbank Datei Somit ist das ganze in sich konsistent. Damit ist es möglich relativ schnell zwischen unterschiedlichen Datenbanken zu wechseln oder die Daten auf einem anderen Server um zu ziehen, ohne dass es spezielle Tools benötigt. Und da die Sicherung ebenfalls eine original SQLite EleLa Datenbank ist, kann diese wieder jederzeit mit EleLa geöffnet werden, auch Updates kann EleLa im Backup durchführen, so dass ein alten Backup mit einer neueren EleLa Version genutzt werden kann. EleLa kann auch autark per Task Sheduler z.B. 1x Täglich mit dem Backup Parameter "-b" gestartet werden. Dann macht EleLa ein Backup der SQL Server Datenbank und beendet sich anschließend wieder.
Die EleLa V3.1.18C30 kann hier geladen werden: http://www.mmvisual.de/elela - Win32/Win64 - Hilfedatei "EleLa.chm" - Für Datenbank: SQLite/MariaDB V10.3 Bitte die EXE noch nicht mit MySQL, PostgreSQL und MsSQL verwenden. Nun kann im Konfigurationsdialog die Parameter der technischen Daten angepasst werden, bzw. gelöscht wenn man falsche eingegeben hat. Außerdem ist die EleLa Hilfe mit den neuen Features aktualisiert.
Hallo Markus, was ich bisher so gelesen habe, scheint die Software ein Schmuckstück zu sein :). Bisher verwalte ich die Bauteile (und vieles mehr) mit einer Excel-Tabelle. Ich hatte gehofft, dass ich die Bauteile (Excel-Tabelle) importieren kann. Geht das? Bei der Suche in den Anleitungen nach "Importieren" habe ich immer nur etwas über Datenbank-Import finden können. Wenn ja, wie geht das und wo kann ich die "Datenstruktur" erkennen, die solch eine Importdatei aufweisen muss, um die Excel-Tabelle dementsprechend anzupassen. Wie z.b. Spalte A -> Interne Artikelnummer Spalte B -> Art (Widerstand, Elko, ...) usw. Falls dies nicht geht, gibt es ein Work-Around? Ich kann mir vorstellen, dass ich nicht der erste/einzige bin, der von Tabellen zur Datenbank wechselt. Vielen Dank für die Info schon mal im voraus.
Ein Import der fremde Daten ist immer eine Sonderbehandlung, daher gibt es das nicht in EleLa. Das geht auch deshalb nicht so einfach weil die Teile-Daten nicht wie in einer Excel-Tabelle in einer einzigen Tabelle stehen, sondern unterteilt sind in "Bauteil" und "Variante". Das hat den Sinn: Bauteil Bezeichnung: "C 100 nF" Das ist ein weitgehend allgemeiner Begriff für eine Kondensator mit dem Wert von 100 nF. Nun werden in EleLa sämtliche Variationen davon in der Detail-Tabelle "Gehäuse/Lager" eingetragen, sozusagen die zweite Tabelle. - Axial, 50V - SMD 1206 - SMD 0805 - MKP 250V~ - ... usw. Das vewrschafft einem den sofortigen Überblick was man so allen mit diesem Wert besitzt. Hat jedoch den Nachteil dass man eine 1-Dimensionale Tabelle nicht wirklich ohne hämdisches Zutun in diese 2-Dimensionale Struktur bekommt. Die Datenstruktur von EleLa ist hier dokumentiert: http://www.mmvisual.de/Hilfe/EleLa/TutorialDB/TutDB.htm Der Import würde so aussehen: Man müsste sich anhand der Excel Tabelle einen SQL Script mit den Daten generieren und dann diese für die Datenbank ausführen. - Tabelle tree_typ ist bei "Typ-F8" die Art der Teile - Tabelle "bauteil" sind die Bauteile - Tabelle "bauteillager" die varianten - Der Verweis zu den Gehäusen muss über die Tabelle "gehause" geschehen. - Die Lagerorte über "kiste" und dem Feld "bauteillager.LagerNr" - Verweis zu den Handbuch PDF Dateien? Gibt es schon eine Ordnerstuktur? - Bilder zum Bauteil vorhanden? Das ist in Summe sehr aufwändig und für jeden Import sehr speziell um zu setzen, daher lohnt sich das erst ab ca. 500-1000 Teilen.
Hallo! EleLa gefällt mir wirklich sehr. Ich nutze es schon eine Weile rein privat. Was mich aber etwas stört, sind die missionarischen Durchhalteparolen, die als Pflichtlektüre unten eingeblendet werden. Gibts da was zum übertünchen?
Früher stand da was wegen spenden. Jetzt steht da halt mal was neues. Ich finde es gut. Nein, aktuell kann man das nicht abschalten.
Guten Morgen Markus, mir geht eine Funktion im Bereich "Bauteile in Kiste/Fach verwalten" ab: Es wäre super, wenn man den Inhalt von 2 Fächern miteinander vertauschen könnte (und zwar unabhängig davon in welcher Kiste sie sind). Ich mache so etwas ab und zu um die unterschiedlich großen Fächer verschiedener Kisten optimal zu nutzen und bisher muss ich beide beteiligten Gehäusen separat verschieben. Was hältst Du davon? Liebe Grüße
Ja, das ist eine sinvolle Funktion. Ich werde das in EleLa V4 berücksichtigen, da wird die Lagerhaltung umgebaut und deshalb mache ich das in V3.1 nicht mehr rein.
Hallo, vielen Dank für die neue Version. Vorallem möchte ich mich für "technischen Daten" bedanken. Das habe ich mir schon lange gewünscht :) Ich habe Schwirigeiten die aus Altium generierte BOM zu importieren.
1 | Designator,Barcode |
2 | |
3 | "C8","002098" |
4 | "C9","002098" |
5 | "C10","002089" |
Die Form kann ich aus Altium nicht beeinflussen, nur zusätzliche Spalten kann ich hinzufügen. EleLa kann beim Import mit Designator und mit " leider nicht umgehen.
Klappt der Import, wenn man in einem Text-Editor alle " in nichts ersetzt? Oder wenn man das , in ; ersetzt? Man könnte diese Daten evt mit Excel importieren und als CSV in einem anderen Format speichern.
Wenn man " in nichts ersetzt, dann funktioniert es. Das , in ; zu ersetzen macht keinen Unterschied. Man kann die CSV-Datei vorher bearbeiten. Es wäre natürlich schöner, wenn es direkt funktionieren würde. Es gibt ja nur 2 Unterschiede zu dem unterstützten Format: "Designator" und ".
Ich schaue mir das an. Sollte eigentlich auch gehen, da ".." als CSV Standard gilt.
@ellboy: ich habe eine Test CSV erstellt und Bauteile mit dem Barcode angelegt, da klappt der Import problemlos, Testdatei im Anhang. Bei Deiner Datei ist wohl irgtend etwas anders, kannst Du mir die mailen oder hier posten? Die Bezeichnung "Designator" kennt ELeLa nicht, es werden diese Bezeichner automatisch erkannt: http://mmvisual.de/Hilfe/EleLa/ProjektCADCsv.htm
ImportTest.csv geht bei mir auch. In meiner CSV hatte ich oben:
1 | Symbol,Barcode |
in ImportTest.csv ist es
1 | "Symbol","Barcode" |
Wie kann man eigentlich mehr als nur 1 Parameter bei den "Technischen Daten" eingeben(V3.1.18C30-64)? Kann man die Informationen daraus auch im Info-Feld nutzen?
ellboy schrieb: > Wie kann man eigentlich mehr als nur 1 Parameter bei den "Technischen > Daten" eingeben(V3.1.18C30-64)? Beim Wert Pfeiltaste nach unten auf der Tastatur > Kann man die Informationen daraus auch im Info-Feld nutzen? Nein, noch nicht. Ich schreibe es auf damit man es machen könnte.
Ich glaube es gibt einen Bug. Wenn man nachträglich "Current" in "Current[A]" umbenennt, dann merkt sich das Program den alten Namen und in der DropDown-Liste ist es weiterhin verfügbar, der neue Namen aber nicht.
Der Eintrag wird gespeichert wenn man den Datensatz mit der "Speichern" Taste speichert, wenn man nur zu einem andern Bauteil wechselt kann es sein dass es nicht übernommen wird, muss ich noch nach schauen. Man kann unter: Extras > Log > Optionen > Globale Params > Technische Daten die Liste manuell anpassen. EleLa erweitert diese Liste selbst anhand neuer Parameter, nur hier hat man die Möglichkeit die nicht mehr benötigte aus der Liste zu entfernen. Eine Änderung dieser Liste wirkt sich nicht auf bestehende Gehäuse/Lager Datensätze aus, man könnte sogar diese Liste leeren und EleLa baut sie dann mit der Zeit wieder neu auf, anhand der Datensätze die existieren.
Hallo Markus, es gibt ja den Shortcut STRG-T um zur letzten Ansicht zu springen, das geht aber nur rückwärts. Mir fehlt etwas, mit dem man zwischen den letzten Ansichten hin/her springen kann - so ähnlich wie das bei ALT-TAB unter Windows funktioniert. a.) nur ALT-Tab: letzte Ansicht hin/her b.) ALT bleibt gedrückt: wechsel der letzten 3 Ansichten im Kreis herum. Vielleicht sogar ein kleines Ansichtsfenster einblenden, damit man schnell was nachsehen kann (ohne wirklich wechseln zu müssen) Gruß Jost
Innerhalb eines Programms ist das in der Regel Strg+Tab. Ich schreibe mir das mal auf.
ellboy schrieb: > ImportTest.csv geht bei mir auch. In meiner CSV hatte ich oben: > >
1 | > Symbol,Barcode |
2 | > |
> > in ImportTest.csv ist es >
1 | > "Symbol","Barcode" |
2 | > |
EleLa sucht/erkennt automatisch anhand der ersten Zeile CSV Zeile die Formatierung der CSV Daten. Wenn da nur ein , (Komma) als Trenner drin steht, dann werden alle folgende Zeile anhand dem versucht zu decodieren. Wenn nun die folgenden Zeile so aussehen: "C18","123456" dann ist das zwar auch CSV, jedoch anders codiert. Ich weiß jetzt nicht ob es Sinn macht für jede Zeile separat die Codierung zu ermitteln. Besser ist es wenn der Kopf gleich aussieht wie die Daten.
1 | // Trennzeichen Erkennen |
2 | iTyp := 0; |
3 | if Pos('";"', s) > 1 then |
4 | iTyp := 1 |
5 | else if Pos('","', s) > 1 then |
6 | iTyp := 2 |
7 | else if Pos('"'#9'"', s) > 1 then |
8 | iTyp := 3 |
9 | else if Pos(#9, s) > 1 then |
10 | iTyp := 4 |
11 | else if Pos(';', s) > 1 then |
12 | iTyp := 5 |
13 | else if Pos(',', s) > 1 then |
14 | iTyp := 6; |
Hi, wann hast Du denn die Postgres-Unterstützung für die V3.1 drin? Im Moment können wir ja auch die aktuellste V3.0 nicht verwenden, wegen den leeren Feldern... Brauchst Du noch weitere Infos bzgl. dem Fehler von mir? Vielen Dank! Flo
Die Datenbank Komponente selbst ist noch Buggy, deshalb klappt es noch nicht. Ich warte darauf bis es dazu ein Update vom Zeos Team gibt, danach gibt es die aktuelle EXE für PostgreSQL.
@Flo Teste bitte ob EleLa nun mit PostgreSQL richtig geht, bei mir scheint es zumindest so aus zu sehen. V3.1.19131-64 kannst Du von hier laden: http://www.mmvisual.de/elela Als Win64 Version. Wenn Du die 32 Bit EXE brauchst schreib mir. Der PostgreSQL Server selbst hat auch noch ein Bug, in EleLa habe ich den umgangen.
@Flo In V3.1.19201 geht nun die Suche-F5 richtig (PostgreSQL). @All EleLa kann nun mit dem MySQL Server auch wieder kommunizieren, sogar mit MySQL V8 Aktuell habe ich nur die Win64 Version erstellt. Tests mit MsSQL sind noch offen. Die andere Versionen kommen demnächst.
:
Bearbeitet durch User
Alle EXE Versionen EleLa V3.1.19201 sind nun verfügbar: http://www.mmvisual.de/elela -> EleLa_V3.1 - Win 32/64 - Linux 32/64 - RaspberryPi Diese EXE geht mit allen Datenbanken außer MsSQL. Bitte wie immer vor dem Update ein Backup der Datenbank erstellen. Falls ein Bug auffällt, bitte mir schreiben.
Dann wird also v3.0 die letzte Version sein, welche ich installiere. Da ich MSSQL 2014 verwende und 2016 sich nicht auf meinen Rechnern installieren lässt. Warum wird jetzt json verwendet, anstelle des (so halbwegs) unterstützten XML? Zudem wird auch XML nicht von jeder Datenbank Nativ unterstützt. Webserver und andere Tools unterstützen eher das XML Format, bei json ist es wiederum etwas schwieriger.
Die JSON SQL Befehle existieren bereits seit 2008 in der SQL Spezifikation. Nur leider brauchen einige SQL Server Hersteller ca. 10 Jahre um diese Spezifikation mit zu unterstützen. Bei MSSQL kann man das Feld als VARCHAR(MAX) deklarieren, damit sind die technische Daten zumindest unter Gehäuse/Lager eingebbar. Jedoch kann man nicht nach den technischen Daten unter "Suchen-F5" oder bei "Typ-F8" danach suchen/filtern, da MSSQL2014 diese SQL Befehle noch nicht kennt. Die Microsoft Programmierer selbst waren auch nicht klug genug das um zu setzen, deshalb musste MS die "Azure" Datenbank Firma einkaufen. Und warum der MSSQL Server nun nicht mehr mit Win7 geht verstehe ich auch nicht wirklich, ist wohl eher eine kaufmännische Entscheidung gewesen. Als Alternative unterstützt EleLa noch weitere SQL Server und jeder kann diese wechseln wie er mag. Ich nutze eine Synology DS mit MariaDB. Synology ist mit den Updates recht fix und unterstützt schon lange MariaDB V10.3 (seit MariaDB V10.2 gehen die JSQN SQL Befehle). Leider funktioniert die Datenbankkomponente, die EleLa verwendet mit MsSQL auch noch nicht richtig, daher können alle MsSQL Nutzer ohnehin leider noch nicht auf V3.1 updaten. Ich bin jedoch dran und hoffe auf eine baldige Lösung.
Also, mein SQLite Manager kennt das json Format nicht, und auch kein XML. Oracle (bis 10g) kennt weder json noch XML, und die rühmen sich mit deren SQL-Standard. Hier ein Link über die json Implementierung: https://modern-sql.com/de/blog/2017-06/was-ist-neu-in-sql-2016 Somit ist eigentlich nur die Syntax-Überprüfung in den Datenbanken vorhanden. Und sehr viele json Funktionen gibt es laut diesen Tabellen auch nicht. Somit wäre es sinnvoller eine TEXT spalte anzulegen und die Syntax-Prüfung von der Applikation (EleLa) durchführen zu lassen. Anscheinend gibt es noch Unterformate zu json, wie das bson, cbor, Smile, ubjson, ... Zudem ist json auch schon wieder veraltet, da nun auf Protocol Buffers umgestellt wird, da die um das 100-fache schneller ist als das XML, zudem 1/10tel weniger an Daten zur Übermittlung benötigt.
Dieser Link der Implementierung ist alt und überholt. Auf den entsprechenden Seiten der Datenbanken sind die Infos jeweils aktuell: https://sqlite.org/json1.html https://mariadb.com/kb/en/library/json-functions/ https://dev.mysql.com/doc/refman/8.0/en/json-functions.html https://www.postgresql.org/docs/current/functions-json.html https://docs.microsoft.com/en-us/sql/t-sql/functions/json-functions-transact-sql?view=sql-server-2017
Ja Microsoft ist da etwas langsamer. War auch bei C++ so, da dauerte es bis zum VS2010, bis die Headerdatei <cstdint> hinzugekommen ist. Bis zum Jahr 2008 War dieses <cstdint> bzw. <stdint.h> nur Draft, und bei Draft kann sich noch vieles Ändern. Dies wird auch der Grund sein, warum sie so etwas erst mit dem Standard implementieren, damit sie nicht ständig am Code herumwursteln müssen. Wenns im MSSQL als VARCHAR(MAX) oder TEXT eingepflegt wird, wird das wohl auch funktionieren. Somit ist EleLa V3.1 wieder im Rennen. Ich verwende hauptsächlich PostgreSQL 9.5, da dies das letzte ist, welches mit PG-Admin III funktioniert und auch noch auf Windows XP-Rechner läuft. PG-Admin IV ist mir zu umständlich und zu langsam. Ich habe auch einen P-touch Drucker, und mit der Software kann man sehr schön Barcodes ausdrucken, leider funktioniert eine Datenbankverbindung damit nur mit MSSQL, Excel, Access oder csv-Dateien. Entweder ich mach mir ein SELECT, um die Daten als csv zu speichern, oder ich exportiere die Datenbank und importiere sie in einen MSSQL, um die Barcodes mit P-touch auszudrucken. Hab gerade gesehen, das mit EleLa mit den SQL befehlen, die Daten in eine csv-Datei gespeichert werden können, da brauche ich nicht den Umweg mit MSSQL machen. Beim "P-touch Editor" kann auch das Trennzeichen umgestellt werden. Super Programme, jetzt bin ich Happy :)
Gottfried schrieb: > Hab gerade gesehen, das mit EleLa mit den SQL befehlen, die Daten in > eine csv-Datei gespeichert werden können, da brauche ich nicht den Umweg > mit MSSQL machen. Ja, in EleLa habe ich umfangreiche Export-Funktionen implementiert, so kann von jeder Tabelle aus mit Rechtsklick der dazugehörige SQL Befehl in die Zwischenablage kopiert werden, den dann unter "Extras-F10>Datenbank" weiter verwenden. Nichts ist schlimmer als nicht an seine eigene Daten so ran zu kommen wie man sie gerne hätte ;-) Das "einfache" drucken mit dem P-Touch geht mit dem Feld "Info", das so ziemlich in jeder Tabelle vorhanden ist: http://www.mmvisual.de/Hilfe/EleLa/Allgem.htm#DruckenEtikett
Hallo! Ich wollte heute 'mal Elela ausprobieren (Windows 10; Version: V3.0.18B15-64). Allerdings gibt es Probleme bein Zugriff auf die Datenbank. Die Datenbak (Maria-DB 10.3.7) liegt auf meinem NAS. Die libmysql in der Version 6.1.11 64 bit habe ich ins Elela Verzeichnis kopiert. Folgende Konfiguration habe ich eingegeben: Protocol=mariadb-10 HostName=192.168.178.10 Database=elela User=elela Wenn ich im Datenbank-Konfigurationsdialog auf "Teste Verbindung" klicke, wird das Quadrat grün, soweit passt also Alles. Nach speichern und Neustart von Elela erscheint im Log aber folgende Fehlermeldung: 11:26:58 Error: Cannot open database! Can't receive Plaindriver! (DB-Connect) Hat jemand eine Idee was da schief gehen kann?
Diese Fehlermeldung kommt von der Datenbank Komponente, es erkennt den Treiber nicht "Protocol=mariadb-10", er erwartet "MariaDB-10", jedoch EleLa konvertiert alles in Kleinbuchstaben. Am Besten von hier: http://www.mmvisual.de/elela -> EleLa_V3.1 die Win64 EXE V3.1 laden und die EXE im EleLa Verzeichnis einfach ersetzen. In dieser Version habe ich den Bug korrigiert, nun ist es egal in welchem Schreibstiel man das schreibt. Alternativ: "Protocol=mysql-5" in der INI Datei einstellen, dann funktioniert es auch mit EleLa V3.0.
Danke für die schnelle Antwort. Eingegeben hatte ich den String Maria-db nicht, sondern einfach nur im Drop-Down Menü ausgewählt. Ich habe die Version 3.1 drüber kopiert. Allerdings erscheint nun folgender Fehler: "Database is newer as this Elela proram. Canot open the database!" Siehe angehängten Screenshot. Der Cursor verwendelt sich in ein den durchgestrichenen Kreis und es läßt sich kein Menü mehr auswählen. Ich kann Elela nur noch beenden, aber sonst nichts mehr machen.
Moin, Moin, ich habe eben versucht meine ELELA Datenbank auf den aktuellen Stand zu bringen und bekomme dabei folgende Fehlermeldung: 15:08:37 Connect database... 15:08:39 DB.Version: SQLite-DLL: 3.26.0 / MySQL: 10.0.34-MariaDB 15:08:39 Database Version: V3.0.17A12 15:08:39 Do Update 65 from Database. 15:08:39 CreateNewField (kiste,ID_ID,INTEGER) 15:08:39 CreateNewField (bauteillager,TecData,JSON) 15:08:42 Error: Database-Update Nr. 65 error! Make the update manually. 15:08:42 SQL: ALTER TABLE `bauteillager` ADD `TecData` JSON NULL AFTER `Barcode` 15:08:44 Error on Test/Update Database. (SQL Error: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'JSON NULL AFTER `Barcode`' at line 1) 15:08:44 Parameter param.ISO9001Konform=1 15:08:46 Error: Cannot open database! SQL Error: Unknown column 'TecData' in 'field list' (TypTreeOpen) Meine DB läuft auf einem Synology NAS RS212 mit MariaDB 10 Version: 10.0.34-0013. Ich verstehe das die Meldung ein einfügen einer neuen Spalte 'TecData' in der Tabe 'Bauteillager' nicht ausführen kann. Wie ich diese ggf. einfügen kann, muß ich aber passen, den von SQL habe ich wirklich null Ahnung. Ich habe zwar HeidiSQL am Start um kleinere Fehler zu beseitigen, aber wie bekomme ich da ggf. die fehlende Spalte nach der 'Barcode' Spalte eingefügt? UPDATE: es scheint wohl daran zu liegen, das MariaDB erst ab Version 10.2 JSON unterstützt... leider gibt es da kein Update bei Synology... oder ich habe es nicht gefunden :-(
:
Bearbeitet durch User
@Martin L. Der Fehler kam schon zuvor, EleLa kann die Tabelle "param" nicht öffnen, da drin steht die Versionsinformation. Daher sperrt sich EleLa weg, damit nicht aus versehen mit einer zu alten EXE eine neuere Datenbank zerschossen wird. Da die Datenbank neu erstellt wurde empfehle ich folgendes Vorgehen: Die Datenbank "EleLa" noch einmal löschen und von neuem beginnen. Die Rechte für den User "elela" kann man lassen. - Mit phpMyAdmin die EleLa Datenbank löschen oder mit dem Tool HeidiSQL. - EleLa erneut öffnen und im Konfig Dialog "Erzeuge neue Datenbank" ausführen. Danach EleLa erneut starten und alles sollte klappen. Dann kann man die Datei "EleLa.sq3" in die MariaDB EleLa Datenbank importieren und man hat die SQLite Daten importiert.
@Torsten K. Ich habe eine "DS2413+" und die installierte Version ist die aktuelle "DSM 6.2.1-23824 Update 6". Über das Paket Zentrum habe ich ohne irgend welche Hacks/Eingriffe ganz normal "MariaDB-5" und "MariaDB-10" installiert, wobei ich den MariaDB-10 mit dem Port 3307 konfiguriert habe, der MariaDB-5 Server läuft auf dem Port 3306 und somit können beide SQL Server auf der DS laufen. EleLa zeigt bei mir den Log-Eintrag: 16:27:05 DB.Version: SQLite-DLL: 3.26.0 / MySQL: 10.3.7-MariaDB Den Update auf 10.3 hatte die DS automatisch empfohlen, man muss dies nur bestätigen. Vielleicht sind bei Deiner DS die Updates deaktiviert? Oder Deine DS hat keine Internetverbindung?
Leider nein... ich habe eben mal bei Synology geschaut... meine RS212 bekommt das MariaDB 10 Update scheinbar nicht. Die nachfolgende Version RS214 hat ein anderes Installationspaket und wird auf die Version 10.3.7 gehoben, während meine Version bei 10.0.34 steht... allen anderen Maschinen, die in dem Alter meiner Maschine sind, sind wohl ebenfalls ausgeschlossen. Ich weiß leider nicht welche Linux Variante bei den Synology Maschinen installiert ist, dann könnte ich ggf. die MariaDB aus der Community nehmen und selber updaten. Mist...
Schau mal beim Synology Forum oder schreib dem Support, die haben eventuell einen Tipp.
Ja mal schauen... ist jetzt auch nicht ganz so schlimm, da meine Elela DB ja in der Vorversion läuft... und ich damit soweit zufrieden bin, insofern muß ich mal schauen ob ein Update/Upgrade da überhaupt Sinn macht. Ich nutze die nur für meine private Bauteilsammlung und nicht produktiv. Aber trotzdem Danke... denn ich mag Elela und kann nur Danke für Deine Arbeit sagen...
:
Bearbeitet durch User
Markus M. schrieb: > - EleLa erneut öffnen und im Konfig Dialog "Erzeuge neue Datenbank" > ausführen. Im Konfigurationsdialog fehlt bei mir leider der Button "Erzeuge neue Datenbank". Ich suche im Tab "Log" unter Optionen | Datenbank. Oder steckt der evt. woanders?
Wähle "mysql-5" aus dem Dropdown Feld, dann wird er eingeblendet. Ja in dem einen Tab ist er. MySQL ist der gleiche Treiber im Hintergrund wie MariaDB, deshalb geht es.
:
Bearbeitet durch User
Markus M. schrieb: > Wähle "mysql-5" aus dem Dropdown Feld, dann wird er eingeblendet. Danke, hat nun Alles funktioniert!
Hallo Markus, Danke für das Tolle Programm. Ich arbeite mich gerade in EleLa_V3.1 ein. Jetzt Frage ich mich was der Eintrag Library bedeuten soll und für was und wie ich diesen verwende. Das Feld bleibt immer leer. Viele Grüße Alois
Hallo Alois, In dieses Feld kann man eine Bezeichnung der Bibliothek eingeben, alle Bezeichnungen die man eingegeben hat werden automatisch in der Drop-Down Liste zur Auswahl gezeigt, damit man immer die gleichen Texte verwendet. Man könnte dieses Feld auch anders verwenden, z.B. als "Thema".
Markus M. schrieb: > In dieses Feld kann man eine Bezeichnung der Bibliothek eingeben, alle > Bezeichnungen die man eingegeben hat werden automatisch in der Drop-Down > Liste zur Auswahl gezeigt, damit man immer die gleichen Texte verwendet. > > Man könnte dieses Feld auch anders verwenden, z.B. als "Thema". Und wie lege ich eine Bezeichnung an?
Etwas verwirrend sind die Bezeichnungen schon: Warenlager: Artikel -> sollte "Artikelgruppe" heißen Lager/Verpackung -> sollte "Artikel/Lager" heißen Elektroniklager: Bauteil -> kann so bleiben Gehäuse/Lager -> Sollte "Artikel/Lager" heißen Gehäuse würde ich in "Bauform" umbenennen, so wie es Farnell und andere angeben. Für mich ist ein Gehäuse ein Gehäuse, wo ein fertiges Produkt untergebracht wird (Kunststoffgehäuse, Stahlblechgehäuse, Alugehäuse, PC-Gehäuse, ...). Für mich ist ein Artikel eine eindeutige Bezeichnung und diese wird auch bei allen anderen ERP Programmen so verwendet Ansonst ist das Programm gut, nur die Bezeichnungen verwirren mich jedes mal. Jetzt muss ich die gesamten Artikel neu anlegen, da ich keine "Artikel" gefunden habe und alle Artikel unter Bauteile angelegt habe :/
In EleLa kann man alle Texte übersetzen, entsprechend auch umbenennen. Einfache Labels mit Strg+Alt+Doppelklick. Unter Extras>Info kann man die Texte in eine Datei exportieren, im Translate Dialog können diese in die Spalte Current wieder import werden, da kann man dann alle anderen Texte umbenennen. Nach dem Neustart von EleLa wird die Spalte Current gelesen und das ganze EleLa wird anders bezeichnet bei allen Arbeitsplätzen gezeigt, die Übersetzung wird in der Datenbank mit gespeichert. Ab EleLa V4 kann ich Elemente umbenennen, da wird es auch eine Trennung zwischen Bauteil Variante und Lager Platz geben. Falls jemand mag, ich hab eine Kyrillische Übersetzung ;-)
Hi, bei mir erscheint in der V3.1.19516-64 folgendes Problem: Beim anlegen eines neuen Bauteils erscheint unten nur die Registerkarte "Bauteil", bis man speichert. Soweit alles ok. Dann definiere ich unter Gehäuse alles, aber die Registerkarte "Lieferanten" fehlt dann. Erst wenn ich auf den Tab "Bestellungen" klicke, erscheint der Tab "Lieferanten" davor. Bug oder Feature? Armin
Ist ein Bug, ich schreibe es auf. Dankeschön für die Meldung.
Hi, ich habe die v3.1.19516-64 auf Windows laufen. Die Datenbank liegt auf einem zentralen Server (Ubuntu 18.04) mit MariaDB 10.3. Nun habe ich auf einem Raspberry die v3.1.19201 (v3.1.19516 gibt es noch nicht für den Raspberry ?). Hier bekomme ich keine Datenbankverbidnung mit mysql-5 hin, obwohl ich im Raspberry terminal mit mysql ... auf den Server verbinden kann. Hast du eine Idee? Danke und viele Grüße, Ben
Ich nutze ebenfalls die gleiche Konfiguration, meine RPi Version geht, das steht im Log:
1 | 09:37:12 18.07.19 Start program V3.1.19201 (ARM) |
2 | 09:37:12 IDE: Lazarus LCL 1.8.4.0, Free Pascal FPC 3.0.4, Zeos 7.2.5-rc |
3 | 09:37:12 Compile: 03.Feb.2019 20:47:57, GTK 2 widget set SVN: 285M |
4 | 09:37:13 Use INI file: /home/pi/EleLa/EleLa.ini |
5 | 09:37:13 Parameter [DB] Protocol=mysql-5 |
6 | 09:37:13 Parameter [DB] HostName=192.168.81.10 |
7 | 09:37:13 Parameter [DB] Port=3307 |
8 | 09:37:13 Parameter [DB] Database=elela |
9 | 09:37:13 Parameter [DB] User=<geheim> |
10 | 09:37:13 Parameter [DB] Password=? |
11 | 09:37:13 Parameter [Programm] VorlageDir=/home/pi/EleLa/Vorlage/ |
12 | 09:37:13 Parameter [Programm] TempDir=/home/pi/EleLa/Temp/ |
13 | 09:37:13 Parameter [Programm] QueryCancel=1 |
14 | 09:37:13 Parameter [Programm] ISO9001Konform=1 |
15 | 09:37:13 Parameter [Bauteil] DefHandbuchDir=/M010/Handbuch/Elektronik |
16 | 09:37:13 Parameter [Projekt] DefHandbuchDir=/home/pi/EleLa/Projekt |
17 | 09:37:13 Parameter [Projekt] GeraetDefHandbuchDir=/home/pi/EleLa/Gerät |
18 | 09:37:13 Parameter [Projekt] DokuDefHandbuchDir=/home/pi/EleLa/Doku |
19 | 09:37:13 Parameter [Linux] ComboItemHeight=9 |
20 | 09:37:13 Parameter [Linux] FontHeight=11 |
21 | 09:37:24 Connect database... |
22 | 09:37:25 DB.Version: SQLite-DLL: 3.16.2 / MySQL: 10.3.11-MariaDB |
23 | 09:37:25 Database Version: V3.1.18B29 |
24 | 09:37:28 Parameter param.DateFormat=dd-mm-yy |
25 | 09:37:31 Database connected. |
Das DefHandbuchDir Verzeichnis habe ich vom Server fest in ein Pfad gemounted, dann kann EleLa auf dem RPi darauf ebenafalls direkt drauf zugreufen. Was kommt denn für ein Fehler?
:
Bearbeitet durch User
Folgender Fehler kommt: 23:50:27 Error: Cannot open database! None of the dynamic libraries can be found or is not loadable: libmysqlclient.so.20, libmysqlclient.so.19, libmysqlclient.so.18, libmysqlclient.so.16, libmysqlclient.so.15, libmariadb.so, libmysqlclient.so ! Use TZConnection.LibraryLocation if the location is invalid. (DB-Connect) Das HandbuchDir habe ich über Nextcloud gesynct, dann steht auch noch eine kleine Versionskontrolle zur Verfügung. Edit, Problem gelöst: Ich musste noch einen Link auf dem Raspberry Pi erstellen: ln -s /usr/lib/arm-linux-gnueabihf/libmariadb.so.3 /usr/lib/arm-linux-gnueabihf/libmariadb.so Ich habe das neueste Raspberry Image mit Debian Buster, evtl. liegt es daran...
:
Bearbeitet durch User
Kopiere deine Datei "libmariadb.so.3" in das gleiche Verzeichnis von EleLa, danach sage dem EleLa wie die Datei heist indem man der INI Datei im Abschnitt [DB] den Parameter hinzufügt: LibraryLocation=libmariadb.so.3 Damit wird die Datenbank Komponente diese ".so" Datei nutzen. Detail zu der INI Datei sind in der Hilfe von EleLa unter: Installation > INI Parameter beschrieben. Falls es immer noch nicht geht muss man eine andere libmariadb.so oder libmysql.so verwenden. Der Vorteil, dass man die .so Datei in das EleLa Verzeichnis kopiert ist, dass EleLa unabhängig von Updates immer die gleiche nutzt und das Betriebssystem einem keine neuere (eventuell nicht mehr unterstützte) installiert.
Hallo Markus, ich habe ja nun auf 3.1 geupdated und habe erneut das Problem, dass nach Einfügen eines Bildes aus der Zwischenablage bei einem Bauteil (mit Verkleinerung durch EleLa) irgendwann zum Verlust der DB Verbindung kommt (MariaDB 10.3).
1 | 20:18:33 25.08.19 Start program V3.1.19516-64 |
2 | 20:18:33 IDE: Lazarus LCL 1.8.4.0, Free Pascal FPC 3.0.4, Zeos 7.2.5-rc |
3 | 20:18:33 Compile: 16.Mai.2019 20:23:46 SVN: 294 |
4 | 20:18:33 Use INI file: C:\EleLa\EleLa.ini |
5 | 20:18:33 Parameter [DB] Protocol=mysql-5 |
6 | 20:18:33 Parameter [DB] HostName=192.168.0.30 |
7 | 20:18:33 Parameter [DB] Port=3307 |
8 | 20:18:33 Parameter [DB] Database=elela |
9 | 20:18:33 Parameter [DB] User=elela |
10 | 20:18:33 Parameter [DB] Password=***** |
11 | 20:18:33 Parameter [Programm] VorlageDir=C:\EleLa\Vorlage\ |
12 | 20:18:33 Parameter [Programm] TempDir=C:\EleLa\Temp\ |
13 | 20:18:33 Parameter [Programm] QueryCancel=1 |
14 | 20:18:33 Parameter [Programm] VersionCheck=1 |
15 | 20:18:33 Parameter [Bauteil] DefHandbuchDir=\\nas01\Electronic\Docs |
16 | 20:18:33 Parameter [Projekt] DefHandbuchDir=C:\EleLa\Projekt |
17 | 20:18:33 Parameter [Projekt] GeraetDefHandbuchDir=C:\EleLa\Gerät |
18 | 20:18:33 Parameter [Projekt] DokuDefHandbuchDir=C:\EleLa\Doku |
19 | 20:18:36 Connect database... |
20 | 20:18:36 DB.Version: SQLite-DLL: 3.26.0 / MySQL: 10.3.11-MariaDB |
21 | 20:18:36 Database Version: V3.1.18B29 |
22 | 20:18:38 Database connected. |
23 | 20:20:38 Test for new version |
24 | 23:19:17 En: tmrBackgroundTimer1|tmrBackgroundTimer1|tmrBackgroundTimer1|tmrBackgroundTimer1|tmrBackgroundTimer1|tmrBackgroundTimer1|tmrBackgroundTimer1|TBildList.mnBildEinfZWClick.BildCaseBauteil|TBildList.EinfBild.BildCaseBauteil|tmrBackgroundTimer1|.1| |
25 | 23:19:17 En: tmrBackgroundTimer1|tmrBackgroundTimer1|tmrBackgroundTimer1|tmrBackgroundTimer1|tmrBackgroundTimer1|tmrBackgroundTimer1|tmrBackgroundTimer1|tmrBackgroundTimer1|tmrBackgroundTimer1|tmrBackgroundTimer1|tmrBackgroundTimer1|tmrBackgroundTimer1| |
26 | 23:19:17 En: tmrBackgroundTimer1|tmrBackgroundTimer1|tmrBackgroundTimer1|tmrBackgroundTimer1|tmrBackgroundTimer1|tmrBackgroundTimer1|tmrBackgroundTimer1|tmrBackgroundTimer1|tmrBackgroundTimer1|tmrBackgroundTimer1|tmrBackgroundTimer1|tmrBackgroundTimer1| |
27 | 23:19:17 E: SQL Error: MySQL server has gone away (tmrBackgroundTimer1|tmrBackgroundTimer1|tmrBackgroundTimer1|tmrBackgroundTimer1|tmrBackgroundTimer1|tmrBackgroundTimer1|tmrBackgroundTimer1|tmrBackgroundTimer1)/( $000000010005E762) |
Ich habe zuvor schon viele Bauelemente-Bilder so eingefügt, aber irgendwann kommt es dann zum DB Verbindungsabbruch. Grüße, Thomas
ELELA ist bei mir inzwischen für alles in Verwendung was Lagerhaltung betrifft. Tolles Programm. Neben den Elektronikbauteilen kamen irgendwann auch Büroartikel dazu (meist werden Großpackungen gekauft von Radiergummi, Tackerklammern, Tesa usw.) und die Verbrauchsmaterialien in der Werkstatt (3D Filament, Schleifpapier, Leim etc.) Momentan ist alles in einer Datenbank. Es wäre schön wenn ich mehrere Datenbanken anlegen könnte (Elektro, Büro und Werkstatt separat) und zwischen denen (ohne manuelle Eingabe in den Datenbankeinstellungen) switchen kann. Entweder beim Programmstart eine Abfrage welche Datenbank geladen werden soll oder im Programm eine Auswahl der Datenbanken. Eventuell könnte man diese Funktion in die nächsten Versionen mit aufnehmen :)
Wegen dem Problem von Thomas K. (muetze1): Er hat die Server Timeout Zeit erhöht, nun beendet der Server nicht mehr die Sitzung. (Parameter: "interactive_timeout") @Florian: Ich finde das ist doch zu speziell. Besser man kopiert die EleLa EXE und legt eine zweite INI Datei an mit den Zugangsdaten zur zweiten Datenbank. Dann legt man 2 Icons auf den Desktop und kann da auswählen welches EleLa man startet. Wenn man in der INI Datei den Parameter: [Programm] Caption=ELeLa Büro (%DB%) Bzw. Caption=ELeLa Elektronik (%DB%) rein schriebt kann man beide EleLa's auch parallel betreiben. Anhand dieser "Caption" bildet EleLa einen Mutex und verhindert einen doppelten Start. Jedoch: Eine Trennung finde ich nicht so gut, da einige Büroartikel auch bei z.B. Reichelt zu bekommen sind. Und bei Filament kann man schon fast streiten ob es zu Elektronik oder Büro gehört. Schlussendlich macht eine Trennung zudem mehr administrativen Aufwand, bzw. was folgt danach? Soll das eine EleLa doch noch zugriff auf die andere Daten zugreifen um was ab zu gleichen? Auch der Einkauf wird dann verrückt wenn er zwischen 2 Bestell-Listen immer umschalten muss.
Ist es möglich nicht benutzte oder falsch eingegebene Einheiten aus den Technischen Daten zu löschen? Habe viel probiert, bin aber zu keinem Ergebnis gekommen
In der Auswahlbox den ersten Eintrag wählen, dann speichern. Beim nächsten Aktivieren vom Datensatz ist der dann verschwunden. Siehe Screenshot.
Danke erst mal für die schnelle Hilfe. Habe mich wohl falsch ausgedrückt ich meinte die Einheit aus der Dropdown-Liste, z.B. habe ich Ic eingegeben dann später Ic [A], Ic brauche ich nicht mehr steht aber immer noch in der Liste.
Der Tip war gut. Nochmal besten Dank für die schnelle Hilfe
Eine Frage hätte ich noch: Ist es möglich Buchstaben oder Ziffern tirfer zu stellen? z.B. wie UCE0 wobei CE0 tiefergestellt wird.
Man kann alle Zeichen aus dem UTF8 Zeichensatz verwenden, wenn solche Zeichen da enthalten sind und der verwendete Font diese Zeichen auch zeigt, so ist es möglich. Ansonsten Formatierungen im Text werden nicht unterstützt. Memo-Texte: Ich würde sehr gerne eine HTML-Formatierung in den Memo-Texten verwenden, leider gibt es keinen vernünftigen WYSIWYG HTML Editor, den ich in Lazarus/Pascal einbauen kann. Und eine HTML Eingabe/Formatierung in Text selbst zu schrieben ist ja schon sehr grenzlastig und für niemanden zumutbar. HTML deshalb, da dieser Text so dann auch auf einer Webseite korrekt formatiert ausgegeben wird (z.B. die Drucken Funktion von EleLa erzeugt immer eine HTML-Seite).
Eine Möglichkeit der Eingabe von Formatierungen ist nicht so das Problem, es fehlt eine Komponente die das anzeigen kann und in der man das gleichzeitig editieren kann, ähnlich wie bei z.B. Word, wo man ein Text markiert und den entsprechend formatiert. In Lazarus gibt es die "THtmlView" Komponente, die kann HTML Code anzeigen, jedoch kann man darin nicht direkt editieren. Man müsste dazu extra einen Text-Editor für die Eingabe haben und dann die Ansicht jedesmal kontrollieren. Ich hatte das schon mal in einer anderen Software so gelößt, bedient haben das ausschlielich programmierer, dennoch waren diese zum Teil mit HTML mehr oder weniger überfordert (Team von 10 Leute).
Hallo, ist es möglich im Info-Feld die Information aus dem Typ-Feld zu nutzen?
Im Info-Feld von Gehäuse/Lager kann dazu dieser Code geschrieben werden: $BAUTEIL.TREE_TYP$ Damit wird die Spalte "Typ" im Info-Ausdruck aus Bauteile-F2 verwendet.
Einen ganz großen Dank an Markus für diese tolle Software! Ich bin gerade dabei den Bauteilbestand für unsere kleine Elektronikfertigung hier in der Uni einzupflegen und dabei über folgendes Problem gestolpert: ich habe jede Komponente als eigenes Bauteil angelegt (z.B. Widerstand 0805 10k) und dann die entsprechenden Rollen unter "Gehäuse / Lager" hinterlegt. Bei manchen Bauteilen sind das dann auch unterschiedliche ArtikelNr von verschiedenen Herstellern. Nun will ich aus meinem CAD-Programm (Altium) den BOM einlesen und automatisch die Einträge zu den Bauteilen zuordnen. Das funktioniert aber nicht automatisch mittels Angabe der Bauteil-Bezeichnung in der CSV-Datei. Ist das das falsche Vorgehen oder gibt es einen Trick um das zu lösen? Ferdinand
Das geht mit dem Feld "ArtikelNr". In Altium muss hier eine eindeutige Nummer vergeben sein und in EleLa die gleiche, dann kann EleLa beim Import eine Zuordnung automatisiert machen. Abgesehen davon würde ich die Bauteile nich so anlegen: "Widerstand 10K 0805" Eher so: "Widerstand 10K" und alle Gehäuse Variationen unter "Gehäuse/Lager" einsortieren. Damit wird die Liste der Bauteile deutlich kleiner und übersichtlicher und gleichzeitig hat man mehr Überblick welche Varianten des 10K Widerstandes verfügbar sind, damit man bei z.B. einem neuen Projekt besser/schneller einen bereits verfügbaren auswählen kann.
Vielen Dank für die schnelle Antwort. Die Bauteile sind so angelegt, damit der Bestand von mehreren Rollen identischer Bauteile zusammengezählt werden kann. So kann ich sehen, ob die vorhandenen (evtl. angebrochenen) Rollen für die Fertigung eines Loses ausreichen. Für die Prüfung welche Bauteile vorhanden sind ist das bei uns ausreichend, da wir nur ausgewählte Gehäuseformen auf Lager halten. Ich werde die Bauteile jetzt einfach händisch zuweisen.
Ich habe auch mal eine Frage zu euch EleLa Usern, für die Entwicklung von EleLa V4. Neu wird sein dass man einem Bauteil mehrere Lagerorte zuweisen kann. Nun gibt es immer wieder das Problem dass z.B. Kondensatoren oder Widerstände, die eigentlich gleiche technische Daten haben und man bestellt die gerade da wo sie am günstigsten sind. Nun hat man verschidenen Typen am Lager liegen, die eigentlich alle die gleichen sind, dennoch gibt es in EleLa einen neuen Eintrag, da dieses Bauteil eine andere Herstellerbezeichnung hat. Somit ist es nötigt, dass man diese gleiche Bauteile irgendwie zusammen fassen kann. Nach dem Motto "Bauteil ist identisch mit dem / den anderen Bauteilen". Nun kommen wiederum die unterschiedliche Lagerorte ins Spiel. Sollen die Lagerorte bei der "Bauteil-F2" Ansicht von den verwanten Bauteilen mit gezeigt werden? Beim Projekt hat man dann ebenfalls ein Bauteil genutzt, welches identische andere Typen mit verknüpft hat, so möchte man dann sicher alle Lagerorte, auch der Verwandten sehen. Damit kann man schneller ein Projekt bestücken ohne extra erst den verfügbaren Ersatztyp aus der Bauteil-Ansicht zu suchen. Diese Änderung ist hauptsächlich für die "Profis" oder Firmen gedacht, da hat man täglich damit zu kämpfen dass irgend ein Widerstand gerade ausverkauft ist und man irgend einen anderen Erstaz braucht. Das lässt sich aktuell in EleLa nicht wirklich intiutiv abbilden. Schussendlich ist es eine recht komplexe Änderung, daher schreibt mir einfach mal was ihr so denkt, bzw. was ich noch berücksichtigen sollte.
Hallo Markus, erst einmal herzlichen Dank an Dich für die (Weiter-)Entwicklung von Elela! Zu Deiner Frage: Die Idee mit der Aufnahme und Verlinkung identischer Bauteile bzw. Ersatztypen ist prima. Da Eröffnen sich dann ganz neue Möglichkeiten :) Eine Anzeige in der F2-Ansicht halte ich für vernünftig, sollte aber über einen einfachen Schalter zu- bzw. abschaltbar sein. Gruss Ralf P.S. Gibt es mal wieder aktualisierte Linux-Versionen (x86 und ARM)?
Hallo Ralf, lange nichts mehr von Dir gehört ;-) In der EXE ist seither kaum was geändert daher gibt es allgemein seit längerem keine Updates. Die V3.1 EXE funktioniert sehr gut :-) Nur weil es schon lange nicht wirklich was neues gab heißt es nicht dass das EleLa Projekt "eingeschlafen" ist. Vielmehr befindet es sich in einer gesunden "Ruhephase" wo noch die letzten Bugs gefixt wurden um leichter ein großes Update durchführen zu können ohne dass man noch "Altlasten" mitschleppt. Denn jeder Bugfix heißt in der Phase der Weiterentwicklung dass man 2 Sourcen pflegen muss, macht schlussendlich 30% Mehr Arbeit. Anbei ein Screenshot wie das mit der Verknüpfung von "Ersatz/Verwanten Bauteilen" funktionieren wird. EleLa wird bei Bestückung dann auch bei den verwanten Teilen nach der Stückzahl schauen ob da noch genügend da sind, daher sollten nur Bauteile mit gleichem Gehäuse verknüpft werden. Wer das nicht beachtet, kann unter Umständen da stehen mit zu wenigen Bauteilen bei der Bestückung. Einschränken will ich die Möglichkeit der Verknüpfung nicht, da jeder die Datenbank auf seine Weise nutzen darf wie er mag. ;-) Es ist noch sehr viel Arbeit bis ich eine erste Version veröffentlichen kann. Da der neue getrennte Bereich "Kiste/Lager" in allen anderen Bereichen von EleLa mit berücksichtigt werden muss.
Hallo Markus, das sieht schon sehr gut aus. Ich freue mich schon auf die erste Betaversion :) Mit "aktualisierten Linux-Versionen" meinte ich eigentlich die Version 3.1.19516. Die gibt es nur als EXE :p
Hi. Ich nutze das Program seit längerem privat auf einem PC und bin restlos zufrieden. Ich würde nun gerne das Lager an der Arbeit damit verwalten lassen. Und hätte nun mal ein paar Fragen: Kann man die Datenbank auch auf einen Server (Linux) legen und dann von X Arbeitsplätzen gleichzeitig darauf zugreifen? Gibt es eine Möglichkeit den Verkauf an ein Finanzsystem weiter zuleiten? Oder macht man das einfach mit einem "internen Verkauf" und hat dann halt in der Rechnungssoftware die plöztlich zum verkaufen da. Das selbe gilt beim Bestellen, da gibt es ja auch Finanzsystem die wissen wollen wo die Rechung vom Lieferanten herkommt. Unter Finanzsystem verstehe ich so was wie LEX... (aktuell)oder zB gnucash (geplant wenn alles damit geht). Viele Grüsse, Peter
Wenn mehrere Nutzer die Daten nutzen sollen dann muss auf dem Server ein SQL Server installiert werden. z.B. MySQL ab V5.7.8 oder MariaDB ab V10.3. Alle Clients greifen dann darauf zu, der Server managt auch z.B. ein Netzwerk Verbindungsabbruch korrekt. Diese Programme können entweder auf einem Linux oder einem Windows Server laufen. Der Verkauf sollte prinzipiell über die Finanz Software laufen. Bei EleLa wird dann nur die Lagerbuchung gemacht. Bei Bestellung kann man sich Vorlagen erstellen, dann kann EleLa die Bestellung in diese Vorlage drucken. Die Finanz SW bucht dann nur noch den kompletten Betrag der Rechnung und man kann diese Vorlage auch als Bestell-Schein für einen Lieferanten nutzen oder als Bestellschein für die Einkauf Abteilung, bzw. der Einkauf bestellt direkt über EleLa. Als Verbindung zu Firmenübergreifenden Verwaltungssystemen wie z.B. SAP kann EleLa unter Gehäuse/Lager das Feld "ArtikelNr2" verwendet werden. Jedoch der Exporter/Importer, bzw. der Datenabgleich muss über ein speziellen Programm erfolgen, das man erst noch schreiben muss, bzw. jede Firma für seine Anforderungen. In EleLa sind für einen Abgleich und Management 4 Felder vorgesehen: ArtikelNr - Artikelnummer der Lieferanten ArtikelNr2 - Artikelnummer im eigenen (z.B. SAP) System Barcode - Eindeutiger Code für z.B Drucken mittels Info-Feld Info - Code den man mit einem P-Tpouch Drucker auf z.B. die Teile Rolle oder der Tüte drucken kann
Danke für die Info. Dann lasse ich mal eine DB auf dem Server anlegen und versuche mein Glück. Ich hatte es mir schon gedacht das ich die Programme getrennt handhaben darf. Wäre ja zu schön gewesen. Ich werde aber mal schauen was man raus holen kann um eine einfache Übernahme von Daten hinzubekommen. Aber das hat jetzt nicht oberste Priorität.
Die Daten kann man jederzeit in den SQL Server Importieren und Exportieren, das geht mit EleLa unter Extras-F10 > Datenbank > Import-/Export Datenbank. Damit kann man die Daten von einem SQL Server sichern, und in einen biebigen anderen SQL Server wieder einspielen, es muss nicht die gleiche Variante von SQL Server sein. Die Sicherungsdatei wiederum ist automatisch eine SQLite Datenbankdatei, die man direkt im EleLa wieder benutzen kann. Mit einem Export ist somit jederzeit möglich die Daten in einen neuen SQL Server wieder ein zu spielen, um z.B. ein Server Update machen zu können. EleLa bietet direkt die Möglichkeit die Datenbank zu administrieren, es braucht nur ein Tool der Datenbank um diese zu installieren und die Zugangspasswörter ein zu richten.
Hi Markus, vor ein Paar Tagen hat noch alles funktioniert. Gestern konnte ich nicht mehr ins EleLa einsteigen. Da sich an meiner EleLa Installation ichts geändert hat, habe ich eher den Raspi im Verdacht gehabt. Dieser hostet meine EleLa Datenbank. Die Datenbank Software ist 10.3.17-MariaDB-0+deb10u1. Da scheint sich tatsächlich etwas geändert zu haben, da ich mich auch mit HeidiSQL nicht mehr verbinden konnte (vermutlich hat eines der Updates etwas verändert). Interessanterweise konnte ich mich mit keinem einzigen User mehr über die IP-Adresse verbinden obwohl einige sehr wohl das Recht dazu hatten. Nach einigen Versuchen habe es dann doch noch geschafft mittels HeidiSQL auf die EleLa DB von meinem Windows Rechner zugriff zu bekommen. Dafür musste ich den DB-User am Raspi löschen, ihn neu anlegen und ihm das Passwort noch einmal generieren. Der neue User hat neben dem Wert im Password Feld der Tabelle mysql.user auch einen Eintrag in den Felder Authentication_string und Plugin. Vorher waren beide Felder leer. Leider hat das aber nichts daran geändert, dass ich mit EleLa weiterhin nicht auf die DB zugreifen kann. Ich habe auch schon versucht von V3.0.18319-64 auf V3.1.19516-64 zu aktualisieren. Die Fehlermeldung ist bei beiden EleLa Versionen:
1 | Error: Cannot open database! SQL Error: SSL connection error: protocol version mismatch (DB-Connect) |
Mit v3.1.19516-64 ist es dabei unerheblich ob ich als Protocol "mysql-5" oder "MariaDB-10" eintrage. Meine libmysql.dll (4765 KB) hat die MD5-Summe '327f4d56c31a3b16415093aded5a848e'. Die libmysql.dll (4361 KB) mit der MD5-Summe '155786c87ac10f0db2484f56cbaa0a34', mit der HeidiSQL funktioniert, will EleLa nicht. Hast Du evtl. eine Idee was ich noch ausprobieren könnte? Danke! LG. JK
Ein RaspberryPi wird in der Regel mit einer SD Card als Datenträger betrieben. Die meisten SD Cards gehen mit der Zeit sehr schnell kaputt weil diese nicht für dauerndes wieder beschreiben ausgelegt sind. Es gibt jedoch einige wenige spezielle SD-Cards die dafür ausgelegt sind, diese sind jedoch relativ teuer. Jedoch wenn man einen RPi 24/7 betreiben möchte sollte man dieses Geld investieren (und genau im Datenblatt der SD-Karte nachlesen ob die es wirklich kann). Dazu empfehle ich noch einen USB Stick als Backup Datenträger zu haben, und die EleLa Version für den RPi auf dem RPi mit installieren und einen Task z.B. alle 24h ausführen lassen der EleLa mit dem Kommandozeilenparameter "-b" ausführt. Damit startet EleLa und erzeugt ein Backup, mit einem weiteren Parameter kann man den Dateiname für den Backup angeben. Mehr dazu in der Hilfe von EleLa unter "Installation", Abschnitt "Kommandozeilenparameter". In Deinem aktuellen Fall rate ich dringend dazu die Daten mittels HeidiSQL zu exportieren und den RPi komplett mit einer neuen SD-Karte neu zu installieren. Es sollte auch überprüft werden ob der Speicher der SD Karte nicht schon zufällig voll gelaufen ist, dann sollte man gleich eine größere rein machen.
Alle EXE Versionen EleLa V3.1.19B09 sind nun verfügbar: http://www.mmvisual.de/elela -> EleLa_V3.1 - Win 32/64 - Linux 32/64 - RaspberryPi - Hilfe.chm Diese EXE geht mit allen Datenbanken außer MsSQL. Bitte wie immer vor dem Update ein Backup der Datenbank erstellen. Falls ein Bug auffällt, bitte mir schreiben. Keine Bugs wurden behoben, sowie ein Bug beim neu Anlegen von Bauteilen Gehäuse/Lager in Zusammenhang mit PostgreSQL. Zudem wurden alle EXE Dateien mit der neuesten Version vom Compiler übersetzt, auch die Linux/RPi Versionen. Leider funktioniert MsSQL mit dieser Version immer noch nicht korrekt :-/ Daher müssen MsSQL User erst einmal noch bei EleLa V3.0 bleiben.
Markus M. schrieb: > Ein RaspberryPi wird in der Regel mit einer SD Card als Datenträger > betrieben. Die meisten SD Cards gehen mit der Zeit sehr schnell kaputt Sorry Markus, ich habe jetzt nicht zu viel über meinen Raspi geschrieben, weil ich hier damit nicht langweilen wollte. Die Problematik der SD-Karten ist mir bekannt. Mein Raspi 4 läuft deshalb mit SSD und ist auch mit einer USV ausgestattet, die bei Spannungs-Ausfällen einspringt. Ich mache auch regelmäßig Backups des Filesystems und der Datenbanken. > In Deinem aktuellen Fall rate ich dringend dazu die Daten mittels > HeidiSQL zu exportieren und den RPi komplett mit einer neuen SD-Karte > neu zu installieren. Es sollte auch überprüft werden ob der Speicher der > SD Karte nicht schon zufällig voll gelaufen ist, dann sollte man gleich > eine größere rein machen. Nein. Ist er nicht. Ich habe noch ca. 100GB frei im Filesystem und ca. 100GB zusätzlich in der VolumeGroup in Reserve. Danke für den Tipp, aber es funktioniert alles außer EleLa. Ich habe dort auch Software laufen, die wesentlich exzessiver den Raspi nutzt als EleLa. Z.b. NextCloud, welches ebenfalls MariaDB nutzt und weiterhin einwandfrei funktioniert... Warum glaubst Du, dass die Datenbank beschädigt sein könnte, wenn ich eine Verbindung mit HeidiSQL zu dieser Datenbank aufbauen kann und alle Abfragen, die ich getestet habe einwandfrei gehen? Falls Du noch eine Idee hättest, wäre ich dankbar, aber aus Meiner Sicht spricht in diesem Fall alles gegen eine Neuinstallation. LG. JK
Ich denke auch, da müsste der RPi sehr gut funktionieren. Die Meldung "SSL connection error" macht mich etwas stutzig. Bitte google mal danach warum so eine Meldung kommt und wie man diese weg bekommt. Eventuell akzeptiert der MariaDB Server nur noch eine SSL Verbindung und geht deshalb nicht mehr. Das "OpenSSL" kann von hier geladen werden: https://indy.fulgan.com/SSL/ Ab der EleLa Version 3.1.19B09 kann EleLa OpenSSL für eine Webabfrage bei Mouser verwenden um HTTPS abfragen zu generieren. Sobald man EleLa startet wird unter Extras-F10 > Log gezeigt mit "OpenSSL found." ob EleLa diese DLL gefunden hat und verwenden kann. Mehr dazu in der aktuellen Hilfe unter: Bauteile Verwalten > Bauteile - Lieferanten > Webabfrage vom Lieferant Abschnitt "Web Abfrage von HTTPS Seiten (OpenSSL)" Wenn diese DLL nicht vorhanden ist wird die Webabfrage zu Mouser über ein HTTP Request gemacht. Jedoch die HTTPS Abfrage funktioniert etwas besser. PS: Ich weiß nicht ob ich diese DLL's im Setup mit verteilen darf, ist gerade etwas schwierig bei OpenSSL, da die Lizenz so halb geändert wurde und nicht alle Entwickler da zugestimmt haben.
:
Bearbeitet durch User
Markus M. schrieb: > Die Meldung "SSL connection error" macht mich etwas stutzig. Bitte > google mal danach warum so eine Meldung kommt und wie man diese weg > bekommt. Ich habe bisher nichts brauchbares gefunden. > Eventuell akzeptiert der MariaDB Server nur noch eine SSL Verbindung und > geht deshalb nicht mehr. Mit dem WireShark she ich sehr viel TLS1.2 Kommunikation. Aber das muss nicht unbedingt etwas neues sein. SSL habe ich von Anfang an aktiv gehabt und IMHO war die Kommunikation immer schon verschlüsselt. Das ganze ist merkwürdig. Wie ich schon geschrieben habe, hat sich die MariaDB Version nicht geändert. Ich hätte als nächstes meinen PC im Verdacht gehabt, weil ja auch Windows 10 ungefragt alles mögliche immer wieder installiert. Doch von einem anderen Windows PC, von dem ich ebenfalls immer zugreifen konnte, geht es auch nicht mehr... dieser hat aber einen anderen Software-Stand. Da ich derzeit nicht viel Zeit habe um dem nachzugehen, aber gerne Zugriff auf meine Daten hätte, habe ich mySQL auf meinem Windows PC installiert und das Backup der EleLa Datenbank hier wiederhergestellt. Nun kann EleLa zugreifen, aber trotzdem komme ich nicht hin:
1 | 20:05:04 12.11.19 Start program V3.1.19516-64 |
2 | 20:05:04 IDE: Lazarus LCL 1.8.4.0, Free Pascal FPC 3.0.4, Zeos 7.2.5-rc |
3 | 20:05:04 Compile: 16.Mai.2019 20:23:46 SVN: 294 |
4 | ...
|
5 | 20:05:25 Connect database... |
6 | 20:05:26 DB.Version: SQLite-DLL: 3.26.0 / MySQL: 8.0.18 |
7 | 20:05:26 Database Version: V3.0.17A12 |
8 | 20:05:26 Do Update 65 from Database. |
9 | 20:05:26 CreateNewField (kiste,ID_ID,INTEGER) |
10 | 20:05:27 CreateNewField (bauteillager,TecData,JSON) |
11 | 20:05:29 Update 65 finish. |
12 | 20:05:29 New Database Version: V3.1.18B29 |
13 | 20:05:29 Error: Cannot open database! Unknown MySQL data type! (TypTreeOpen) |
Das Update der Datenbank hat scheinbar funktioniert... Was habe ich übersehen? Danke und LG. JK
Ich habe bei mir lokal ebenfalls die MySQL 8.0 installiert und die Daten da eingelesen. Soweit gibt es keine Fehler beim Start der EXE. Bitte lade einmal für die lokale Test Instanz die Exe: http://www.mmvisual.de/elela -> EleLa_V3.1 EleLa_V3.1.19B12_Win64.zip herunter und verwende diese. Neu gibt es hier im Konfigurationsdialog "Prüfe Datenintegrität". (Siehe Screenshot) Führe das einmal bitte aus und kopiere die Log Einträge. Mit dieser Funktion prüft EleLa ob alle Querverweise der jeweiligen ID's noch stimmen und löscht ggf das Feld wenn es z.B. das Projekt in der Zwischenzeit nicht mehr gibt. Oder es werden nicht erlaubte doppelte Einträge gefunden, dann wird EleLa diese automatisch gleich umbenennen. Diese Integritätsprüfung wird EleLa bei einem zukünftigen Update auf EleLa V4 ohnehin ausführen, kann jedoch schon einmal mit dieser Version getestet werden.
Hallo. Ich habe gerade mir die aktuelle Version installiert und wollte eigentich nur zum Spaß mal die Datenbank sichern. Aber der Button zeigt keine Reaktion! Muss ich dafür in der INI noch das eintragen oder warum ist das deaktiviert in einer neuen Installation?
Markus M. schrieb: > Bitte lade einmal für die lokale Test Instanz die Exe: > http://www.mmvisual.de/elela -> EleLa_V3.1 > EleLa_V3.1.19B12_Win64.zip > herunter und verwende diese. Vielen Dank! Damit konnte die DB anscheinend fertig aktualisiert werden und EleLa läuft jetzt wieder mit der lokal installierten mySQL Instanz:
1 | 18:05:29 Database Version: V3.1.18B29 |
2 | 18:05:29 Do Update 65 from Database. |
3 | 18:05:29 RenameField (tree_typ,ID_ID,ID_ID,INTEGER) |
4 | 18:05:30 CreateNewField (kiste,ID_ID,INTEGER) |
5 | 18:05:30 CreateNewField (bauteillager,TecData,JSON) |
6 | 18:05:30 Update 65 finish. |
7 | 18:05:30 New Database Version: V3.1.18B30 |
Der Konsistenz-Check bricht eigentlich in der Sekunde ab, in der ich es starte mit folgender Fehlermeldung:
1 | 18:09:41 E: SQL Error: Column 'Adr_ID' cannot be null (btnKonfigClick|TfrmKonfig.mnCheckClick|CheckIntegrity)/( $000000010005E55A) |
Da bin ich mir aber nicht sicher, ob Dein Check nicht zu streng ist. :-) Ich habe bei sehr vielen Bauteilen keine Adresse hinterlegt und die bisher verwendeten Versionen haben das auch brav zugelassen. LG. JK
@Klaus: Bei SQLite ist die Taste immer deaktiviert, da kann man einfach die Datenbankdatei manuell kopieren. Falls eine andere Datenbank als SQLite verwendet wird, dann mir am Besten den ganzen Inhalt von Extras-F10 > Log schicken, dann schaue ich danach. @JK: Nein der Check ist nicht zu streng, er ist genau richtig so ;-) Man hat in der EleLa Datenbank recht viele Freiheiten, zu viele, das erzeugt mit der Zeit Lücken. Und diese Lücken möchte ich nun ab EleLa V4 alle komplett schließen und automatisiert beheben. In Deinem Fall kommt der Fehler wohl daher dass irgend wann einmal eine Adresse gelöscht wurde, die zuvor unter Bauteil->Lieferant mal als Lieferant angelegt war. Ich habe die EXE geändert in V3.1.19B13, so dass alle Einträge aus Bauteil->Lieferant gelöscht werden, die keine Adresse mehr haben. Der Eintrag ist ohnehin Sinnfrei da man dies nicht mehr bestellen kann. Bzw. der letzte EK-Preis wurde nach Bestellen bei der Lagerbuchung unter Bauteil-> Gehäuse/Lager bereits eingetragen. Bitte mit dieser nochmals im Konfigurationsdialog die "Prüfe Datenintegrität" ausführen, damit sollte diese nun durchlaufen und alle Fehler automatisch beheben.
Markus M. schrieb: > Bitte mit dieser nochmals im Konfigurationsdialog die "Prüfe > Datenintegrität" ausführen, damit sollte diese nun durchlaufen und alle > Fehler automatisch beheben. Also die v3.1.19B13 hat etwas länger gebraucht, endete aber ebenfalls mit einer Fehlermeldung:
1 | 20:40:15 CheckIntegrity: projektversion.ID <> projektdoku.projektversion_ID |
2 | 20:40:15 E: SQL Error: SQL logic error (btnKonfigClick|TfrmKonfig.mnCheckClick|CheckIntegrity)/( $000000010005E55A) |
LG. JK
Ich habe die V3.1.19B13 nochmals korrigiert und hoch geladen. Ich glaube da fehlt noch eine Tabelle in der Datenbank, die aktuell mit EleLa noch nicht benutzt wird, jedoch vorhanden sein sollte. Nun überprüft die "Datenintegrität" das vorhanden sein aller Tabellen und legt fehlende neu an bevor die anderen Prüfungen laufen. Die Tabelle "projekteinzel" ist eine Vorbereitung dafür um nach der Produktion die jeweiligen produzierte als Einzelgeräte verwalten zu können. Bei mir war die Tabelle vorhanden, daher lief der Script bei mir ordnungsgemäß durch. Das müsste dann so aussehen:
1 | 22:36:48 13.11.19 Start program V3.1.19B13-64 |
2 | 22:36:48 IDE: Lazarus LCL 2.0.6.0, Free Pascal FPC 3.0.4, Zeos 7.2.6-stable |
3 | 22:36:48 Compile: 12.Nov.2019 23:00:32 SVN: 325M |
4 | 22:36:49 Connect database... |
5 | 22:36:49 DB.Version: SQLite-DLL: 3.30.1 / MySQL: 8.0.13 |
6 | 22:36:49 Database Version: V3.1.18B30 |
7 | 22:36:50 Database connected. |
8 | 22:37:00 ===================== |
9 | 22:37:00 Start check integrity |
10 | 22:37:00 CheckIntegrity: adr.ID <> bauteiladr.adr_ID |
11 | 22:37:00 CheckIntegrity: adr.ID <> bauteillager.adr_ID |
12 | 22:37:00 CheckIntegrity: adr.ID <> bestellen.Lief1_adr_ID |
13 | 22:37:00 CheckIntegrity: adr.ID <> bestellen.Lief2_adr_ID |
14 | 22:37:00 CheckIntegrity: adr.ID <> projekt.adr_ID |
15 | 22:37:00 CheckIntegrity: adr.ID <> projekteinzel.adr_ID |
16 | 22:37:00 CheckIntegrity: adr.ID <> historie.adr_ID |
17 | 22:37:00 CheckIntegrity: adr.ID <> kosten.adr_ID |
18 | 22:37:00 CheckIntegrity: bauteil.ID <> bauteiladr.bauteil_ID |
19 | 22:37:00 CheckIntegrity: bauteil.ID <> bauteillager.bauteil_ID |
20 | 22:37:00 CheckIntegrity: bauteil.ID <> bauteilbewegung.bauteil_ID |
21 | 22:37:00 CheckIntegrity: bauteil.ID <> bestellen.bauteil_ID |
22 | 22:37:00 CheckIntegrity: bauteil.ID <> projekt.bauteil_ID |
23 | 22:37:00 CheckIntegrity: bauteil.ID <> projektpos.bauteil_ID |
24 | 22:37:00 CheckIntegrity: bauteil.ID <> projektversion.bauteil_ID |
25 | 22:37:00 CheckIntegrity: bauteil.ID <> projektdoku.bauteil_ID |
26 | 22:37:01 CheckIntegrity: bauteil.ID <> projekteinzel.bauteil_ID |
27 | 22:37:01 CheckIntegrity: bauteil.ID <> kostenpos.bauteil_ID |
28 | 22:37:01 CheckIntegrity: bauteil.ID <> storeteile.bauteil_ID |
29 | 22:37:01 CheckIntegrity: bauteiladr.ID <> bestellen.Lief1_bauteiladr_ID |
30 | 22:37:01 CheckIntegrity: bauteiladr.ID <> bestellen.Lief2_bauteiladr_ID |
31 | 22:37:01 CheckIntegrity: bauteillager.ID <> bauteiladr.bauteillager_ID |
32 | 22:37:01 CheckIntegrity: bauteillager.ID <> bauteilbewegung.bauteillager_ID |
33 | 22:37:01 CheckIntegrity: bauteillager.ID <> bestellen.bauteillager_ID |
34 | 22:37:01 CheckIntegrity: bauteillager.ID <> projekt.bauteillager_ID |
35 | 22:37:01 CheckIntegrity: bauteillager.ID <> projektpos.bauteillager_ID |
36 | 22:37:01 CheckIntegrity: bauteillager.ID <> projektversion.bauteillager_ID |
37 | 22:37:01 CheckIntegrity: bauteillager.ID <> projektdoku.bauteillager_ID |
38 | 22:37:01 CheckIntegrity: bauteillager.ID <> projekteinzel.bauteillager_ID |
39 | 22:37:01 CheckIntegrity: bauteillager.ID <> kostenpos.bauteillager_ID |
40 | 22:37:01 CheckIntegrity: bauteillager.ID <> storeteile.bauteillager_ID |
41 | 22:37:01 CheckIntegrity: bestellen.ID <> bauteilbewegung.bestellen_ID |
42 | 22:37:01 CheckIntegrity: gehause.ID <> bauteillager.gehause_ID |
43 | 22:37:01 CheckIntegrity: foto.ID <> adr.foto_ID |
44 | 22:37:01 CheckIntegrity: foto.ID <> bauteil.foto_ID |
45 | 22:37:01 CheckIntegrity: foto.ID <> bauteiladr.foto_ID |
46 | 22:37:01 CheckIntegrity: foto.ID <> bauteillager.foto_ID |
47 | 22:37:01 CheckIntegrity: foto.ID <> bestellen.foto_ID |
48 | 22:37:01 CheckIntegrity: foto.ID <> gehause.foto_ID |
49 | 22:37:01 CheckIntegrity: foto.ID <> kiste.foto_ID |
50 | 22:37:01 CheckIntegrity: foto.ID <> tree_typ.foto_ID |
51 | 22:37:01 CheckIntegrity: foto.ID <> doku.foto_ID |
52 | 22:37:01 CheckIntegrity: foto.ID <> projekt.foto_ID |
53 | 22:37:01 CheckIntegrity: foto.ID <> projektpos.foto_ID |
54 | 22:37:01 CheckIntegrity: foto.ID <> projektversion.foto_ID |
55 | 22:37:01 CheckIntegrity: foto.ID <> projektdoku.foto_ID |
56 | 22:37:01 CheckIntegrity: foto.ID <> projekteinzel.foto_ID |
57 | 22:37:01 CheckIntegrity: foto.ID <> historie.foto_ID |
58 | 22:37:01 CheckIntegrity: foto.ID <> wissen.foto_ID |
59 | 22:37:01 CheckIntegrity: foto.ID <> kosten.foto_ID |
60 | 22:37:01 CheckIntegrity: foto.ID <> kostenpos.foto_ID |
61 | 22:37:02 CheckIntegrity: foto.ID <> mp3.foto_ID |
62 | 22:37:02 CheckIntegrity: kiste.ID <> bauteillager.kiste_ID |
63 | 22:37:02 CheckIntegrity: tree_typ.ID <> bauteil.tree_typ_ID |
64 | 22:37:02 CheckIntegrity: doku.ID <> projektdoku.doku_ID |
65 | 22:37:02 CheckIntegrity: projekt.ID <> bauteilbewegung.projekt_ID |
66 | 22:37:02 CheckIntegrity: projekt.ID <> bestellen.projekt_ID |
67 | 22:37:02 CheckIntegrity: projekt.ID <> projektpos.projekt_ID |
68 | 22:37:02 CheckIntegrity: projekt.ID <> projektversion.projekt_ID |
69 | 22:37:02 CheckIntegrity: projekt.ID <> projektdoku.projekt_ID |
70 | 22:37:02 CheckIntegrity: projekt.ID <> projekteinzel.projekt_ID |
71 | 22:37:02 CheckIntegrity: projekt.ID <> historie.projekt_ID |
72 | 22:37:02 CheckIntegrity: projekt.ID <> kosten.projekt_ID |
73 | 22:37:02 CheckIntegrity: projekt.ID <> kostenpos.projekt_ID |
74 | 22:37:02 CheckIntegrity: projektpos.ID <> bauteilbewegung.projektpos_ID |
75 | 22:37:02 CheckIntegrity: projektpos.ID <> historie.projektpos_ID |
76 | 22:37:02 CheckIntegrity: projektpos.ID <> kostenpos.projektpos_ID |
77 | 22:37:03 CheckIntegrity: projektversion.ID <> projekt.projektversion_ID |
78 | 22:37:03 CheckIntegrity: projektversion.ID <> projektpos.projektversion_ID |
79 | 22:37:03 CheckIntegrity: projektversion.ID <> projektdoku.projektversion_ID |
80 | 22:37:03 CheckIntegrity: kosten.ID <> projekteinzel.kosten_ID |
81 | 22:37:03 CheckIntegrity: kosten.ID <> historie.kosten_ID |
82 | 22:37:03 CheckIntegrity: kosten.ID <> kostenpos.kosten_ID |
83 | 22:37:03 CheckIntegrity: kostenpos.ID <> projekteinzel.kostenpos_ID |
84 | 22:37:03 ======================== |
85 | 22:37:03 Start check double entry |
86 | 22:37:03 Check integrity -> IO |
:
Bearbeitet durch User
Markus M. schrieb: > Ich habe die V3.1.19B13 nochmals korrigiert und hoch geladen. Ja, jetzt ist es auch bei mir fehlerfrei durchgelaufen. Vielen Dank für die Unterstützung! LG. JK
Alle EXE Versionen EleLa V3.1.19B14 sind nun verfügbar: http://www.mmvisual.de/elela -> EleLa_V3.1 - Win 32/64 - Linux 32/64 - RaspberryPi - Hilfe.chm Diese EXE geht mit allen Datenbanken außer MsSQL. Bitte wie immer vor dem Update ein Backup der Datenbank erstellen. Falls ein Bug auffällt, bitte mir schreiben. Nun ist vor der Integritätsprüfung noch eine Ja/Nein Abfrage, da diese Prüfung die Datenbank korrigiert und in der Hilfe ist ebenfalls beschrieben was genau da alles gemacht wird. Screenshot siehe hier: Beitrag "Re: EleLa - Elektronik Lagerverwaltung V3.1"
Hallo Markus, bei mir zeigt er bei Extras - Info - Versionsabfrage die Version "3.0.18B15" an und nicht die aktuelle. Und der www-Link geht auf http://www.mmvisual.de/version.php und nicht auf http://www.mmvisual.de/elela. Armin
Hallo Armin, Ja, das ist richtig so. Mit der EleLa Versionsabfrage kann man die EXE V3.1.xxxxx noch nicht laden, da diese EXE leider noch nicht mit MsSQL funktioniert. Und da will ich diese erst dann anbieten wenn auch dieser SQL Server problemlos geht. Wenn ich in der Versionsabfrage dies einbringe, dann bekommen alle User die die automatische Versionsabfrage aktiviert haben jedes mal eine Meldung wenn sich da was ändert, daher will ich da auch nicht jede Kleinigkeit darüber veröffentlichen. Mich persönlich nerven zum Teil diese Programme die alle paar Wochen ein Update brauchen und das will ich den Usern nicht auch noch mit EleLa antun ;-) Wer dennoch immer auf dem aktuellen Stand von EleLa bleiben möchte kann sich hier im Forum den "Thread beobachten" aktivieren. Damit bekommt er jede Änderung mit, kann sogar noch auf die Änderung einwirken indem er eigene Ideen schreibt und dann entscheiden ob er diese neue Features ebenfalls gebrauchen kann. Oder auch viele Tipps zur Bedienung und Fehleranalyse lesen. Markus
Hallo Markus, heute hatte ich etwas Zeit um mich mit dem Raspi zu befassen. Nutzt EleLa immer SSL? Ist das evtl. ein Standard-Wert?. Ich weiß nicht welche Möglichkeiten Dir bei Free Pascal zur Verfügung stehen, aber wäre es möglich SSL-Optionen in der INI-Datei anzubieten? Das würde neue Einträge erfordern, könnte aber bei Verbindungstests hilfreich sein. Da ich keine Free Pascal Entwicklungsumgebung da habe, habe ich es mit C# getestet, aber ich vermute, es müsste bei Dir so ähnlich funktionieren.
1 | var csb = new MySql.Data.MySqlClient.MySqlConnectionStringBuilder(); |
2 | csb.Server = "Server_Name"; |
3 | csb.Database = "elela"; |
4 | csb.Port = 3306; |
5 | csb.Password = "*******************"; |
6 | csb.UserID = "elela"; |
7 | csb.SslMode = MySql.Data.MySqlClient.MySqlSslMode.Required; |
Ohne SSL (MySqlSslMode.None in der letzten Zeile) konnte ich aus C# auf die EleLa Datenbank am Raspi sofort zugreifen. Mit der Einstellung von MySqlSslMode.Required wird die SSL-Verschlüsselung erzwungen. Das hat mit C# allerdings erst funktioniert nachdem ich sämtliche Schlüssel und Zertifikate am Raspi neu generiert habe. Eine Option zum ein-/aus- schalten der SSL Verschlüsselung (das was im oberen Code-Beispiel in der letzten Zeile passiert; Required vs. None) könnte beim Testen hilfreich sein. Nachdem ich alles durchprobiert habe und die beschriebenen Änderungen am Raspi durchgeführt habe, konnte auch EleLa wieder auf die Datenbank zugreifen:
1 | 21:28:23 DB.Version: SQLite-DLL: 3.30.1 / MySQL: 10.3.17-MariaDB-0+deb10u1 |
2 | 21:28:23 Database Version: V3.0.17A12 |
3 | 21:28:23 Do Update 65 from Database. |
4 | 21:28:23 RenameField (tree_typ,ID_ID,ID_ID,INTEGER) |
5 | 21:28:23 CreateNewField (kiste,ID_ID,INTEGER) |
6 | 21:28:23 CreateNewField (bauteillager,TecData,JSON) |
7 | 21:28:24 Update 65 finish. |
8 | 21:28:24 New Database Version: V3.1.18B30 |
Auch die anschließende Datenbank-Überprüfung ist ohne Probleme gelaufen. Ohne Optionen um die *.pem Dateien anzugeben kann IMHO keine Verifizierung statt finden um sicher zu stellen, dass die Verbindung mit dem richtigen Server initiiert wird. Um auch das sicher zu stellen, wären noch nie Optionen SslCa, SslCert und SslKey erforderlich. Bei mir (in C#) müsste dafür die letzte Zeile im oberen Code-Beispiel durch folgende Zeilen ersetzt werden:
1 | csb.SslMode = MySql.Data.MySqlClient.MySqlSslMode.VerifyFull; |
2 | csb.SslCa = Path.Combine(appFolder, "ssl", "ca-cert.pem"); |
3 | csb.SslCert = Path.Combine(appFolder, "ssl", "client-cert.pem"); |
4 | csb.SslKey = Path.Combine(appFolder, "ssl", "client-key.pem"); |
Statt VerifyFull kann auch VerifyCA angegeben werden: VerifyFull - Always use SSL and perform full certificate validation. VerifyCA - Always use SSL. Validate server SSL certificate, but different host name mismatch. Damit habe ich mich allerdings noch nicht näher befasst. Ich habe nur getestet ob ich auch mit diesen Optionen hinkomme und es ist ohne Probleme gegangen. Das ist jetzt aber keine Anforderung, sondern nur ein Vorschlag. :-) LG. JK
@JK Die in EleLa verwendete Datenbank Komponente "Zeos" ist eine Komponente die zu vielen Datenbanken eine Verbindung herstellen kann. Spezielle datenbankspezifische Einstellungen können über eine "Properties" Liste der Komponente übergeben werden. In der Doku steht z.B. das:
1 | SSL connections are supported using this connection properties (using mysql_sll_set library call) : |
2 | Properties.Strings = ( |
3 | 'MYSQL_SSL=TRUE' |
4 | 'MYSQL_SSL_CA=D:/mysql/certs/ca-cert.pem' |
5 | 'MYSQL_SSL_CERT=D:/mysql/certs/client-cert.pem' |
6 | 'MYSQL_SSL_KEY=D:/mysql/certs/client-key.pem') |
Ich brauche somit nur in der INI Datei eine neue Sektion, z.B. [DB_Properties] anlegen in der man dann: MYSQL_SSL=TRUE : : : einträgt. EleLa überträgt dann eutomatisch alle Einstellungen aus dieser Sektion in die DB Komponente und gut ist. Ist kein Problem das in EleLa mit auf zu nehmen und verbessert die Datenbank Verbindungsmöglichkeit sehr.
@JK Nun kann EleLa ab V3.1.19B17 Properties der Datenbankverbindung zur Datenbankkomponente weiter leiten. Es ist somit möglich Parameterwerte direkt zur Datenbank Client DLL zu übergeben. Dazu wird in der EleLa INI Datei eine optionale Section: [DB_Properties] angelegt, darin können alle
1 | <Variable>=<Wert> |
angelegt werden. Als Beispiel für die Aktivierung der Client DLL SSL Verschlüsselung müsste man die EleLa.ini Datei mit diesen Zeilen erweitern:
1 | [DB_Properties] |
2 | MYSQL_SSL=TRUE |
3 | MYSQL_SSL_CA=ca-cert.pem |
4 | MYSQL_SSL_CERT=client-cert.pem |
5 | MYSQL_SSL_KEY=client-key.pem |
6 | MYSQL_SSL_CAPATH= |
7 | MYSQL_SSL_CYPHER= |
Die Datenbank Komponente Zeos ruft mit diesen Parametern die LibMySQL.dll Funktion "mysql_ssl_set()" auf. Die Beschreibung was welcher Parameter im Detail zu bedeuten hat muss man in der Doku von MySQL nachlesen: https://dev.mysql.com/doc/refman/8.0/en/mysql-ssl-set.html Hier ein Tutorial wie man eine SSL Verschlüsselung Server- und Clientseitig für MySQL erzeugt: https://www.howtoforge.com/tutorial/how-to-enable-ssl-and-remote-connections-for-mysql-on-centos-7/ (ausprobiert habe ich es selbst nicht) In der aktuellen EleLa.chm Hilfe ist unter "Installation" > "Tutorial - Einrichten MySQL Datenbank", Abschnitt "Optional: MySQL Verbindung mit einer SSL Verschlüsselung verwenden" das ganze nochmals beschrieben/dokumentiert. Bitte teste diese Einstellung und gebe Bescheid ob EleLa nun mit der SSL Verbindung klar kommt.
@Markus: > Bitte teste diese Einstellung und gebe Bescheid ob EleLa nun mit der SSL > Verbindung klar kommt. Ich habe EleLa aktualisiert, die Ini-Datei ergänzt und die Verbindung funktioniert noch:
1 | 18.11.19 Start program V3.1.19B17-64 |
2 | ... |
3 | Parameter [DB_Properties] MYSQL_SSL=TRUE |
4 | Parameter [DB_Properties] MYSQL_SSL_CA=.\ssl\ca-cert.pem |
5 | Parameter [DB_Properties] MYSQL_SSL_CERT=.\ssl\client-cert.pem |
6 | Parameter [DB_Properties] MYSQL_SSL_KEY=.\ssl\client-key.pem |
7 | Parameter [DB_Properties] MYSQL_SSL_CAPATH= |
8 | Parameter [DB_Properties] MYSQL_SSL_CYPHER= |
9 | ... |
10 | OpenSSL found. |
11 | Connect database... |
12 | DB.Version: SQLite-DLL: 3.30.1 / MySQL: 10.3.17-MariaDB-0+deb10u1 |
13 | Database Version: V3.1.18B30 |
14 | Database connected. |
Vielen Dank! LG. JK
Hallo Markus, der "Lieferanten"-Bug vom 11.6. ist noch nicht behoben. Soll keine Kritik sein, sondern eine Erinnerung ;-) Armin
Der "Lieferanten"-Bug ist nun in allen EXE Versionen EleLa V3.1.19B18 beseitigt: http://www.mmvisual.de/elela -> EleLa_V3.1 - Win 32/64 - Linux 32/64 - RaspberryPi
Ich habe einen Telegram-Chat für EleLa eröffnet. Ich bin mir jetzt nicht sicher ob es gut ist oder nicht, ich habe es einfach mal gemacht. Die Gruppe ist öffentlich und jeder kann dieser beitreten: https://t.me/mmvisual_elela Einziger Haken: man braucht dazu die App Telegram, gibt es als Android, IPhone, Windows, Linux und Mac Programm, sowie über Web-Browser. Ein paar Screenshots was sich in EleLa V4 ändern wird habe ich da mal angehängt. Natürlich können da auch fragen zur aktuellen oder älteren Versionen gestellt werden.
:
Bearbeitet durch User
Für Leute die eine Synology Discstation besitzen und einen automatisches Backup der MariaDB Datenbank(en) erstellen wollen: In der aktuellen Hilfe von EleLa: http://www.mmvisual.de/elela -> EleLa_V3.1 habe ich ein Tutorial hinzu gefügt in dem beschrieben ist wie man bei einer Synology DS ein automatisches Backup der Datenbanken (dump) erzeugen kann. In der Hilfe ist ein Script (.sh Datei) zum Download und es ist beschrieben wie man den "Aufgabeplaner" einrichtet damit das Backup funktioniert. Hilfe: Installation > Tutorial - Synology DS Backup == Und weil es so "einfach" war, habe ich in der Hilfe auch noch gleich ein Script hinzu gefügt, der einen Dump der SVN Repro's erstellen kann, falls jmd die DS als SVN Server nutzt. == In der Hilfeseite "Inhalt" ist ein Link "Schnellüberblick: Neuerungen in EleLa V4" Darin kann schon mal jeder nachlesen welche Neuerungen es in EleLa V4 geben wird und welche Aktionen der Bediener beim Update von V3.1 auf V4 beachten sollte. == Neu habe ich einen Telegram EleLa-Kanal erstellt, damit kann jeder über die News auf dem, laufenden bleiben: https://t.me/elela_news Ist wie bei meinem letzten Post, wie gut so ein Kanal ist, bzw. ob es funktioniert, wird man erst mit der Zeit sehen.
:
Bearbeitet durch User
Hallo Markus, Positionen die im Projekt als "n.v." (nicht verwendet) markiert sind werden richtiger weise bei "Prüfe Menge für Produktion" nicht angezeigt. Leider werden diese dann aber fälschlicherweise bei "Buche Menge nach Produktion" im Lager abgezogen. Gruß Walter
Hallo! Ich habe begonnen, meinen Lagerbestand in ELELA zu verwalten. Anlegen einzelner Bauteile ist soweit kein Problem. Was ich allerdings nicht verstanden habe ist, wie man ein Projekt (z.B. eine bestückte Platine) als Bauteil anlegt, um es später wiederum in einem anderen Projekt/Gerät zu verwenden. Laut Anleitung soll das ja funktionieren, leider ist es nicht erklärt. Hat das schonmal jemand gemacht?
Eine bestücke Platine ist wie jedes andere Bauteil an zu legen. Unter Bauteile gibt es diese Unterscheidung nicht. Unter "Projekt-F3" wird dann dieses Bauteil und Gehäuse/Lager zugeordnet. Wenn man nun das Projekt produziert so wird die produzierte Menge dem Lagerbestand des verknüpften Bauteils hinzugefügt. Beschrieben ist das in der Hilfe unter Projekte > Projekte Verwalten. beim Abschnitt "Funktion "Buche Menge nach Produktion" und "Buche Teil-Menge nach Produktion":" Siehe Screenshot. Hier wird die Verknüpfung zum Bauteil eingestellt, deren Menge wird nach Fertigstellung des Projektes erhöht.
Ok danke. Habe ich schlicht übersehen. Für den Fall, dass ich die falsche Menge buche, gibt es die Möglichkeit, die Menge wieder zurückzubuchen, resp. diesen Schritt rückgängig zu machen?
Im Projekt nicht, jedoch unter Bauteile-F2 > Gehäuse/Lager kann die Menge jederzeit angepasst werden. Nach der Mengenkorrektur kann man unter Bauteile-F2 > Lagerbewegung in der Spalte "Grund" rein schreiben warum man die Menge "manipuliert" hat, z.B. Inventur.
Neue EleLa Version V3.1.20307 steht nun mit MsSQL Unterstützung bereit. In der aktualisierten Hilfe ist ein "Tutorial MsSQL Einrichtung" in dem beschrieben ist welche neue DLL's dazu verwendet werden müssen und wie der MsSQL parametriert sein muss. Mehr Details im Kanal "EleLa News": https://t.me/elela_news Fragen können gerne hier oder im Chat https://t.me/mmvisual_elela gestellt werden. Bugs ebenfalls ;-)
Hallo, ich arbeite schon seit längerem mit ELELA. Einfach ein klasse Programm. Mein Problem hat nicht direkt etwas mit ELEA zu tun sondern mit der Datenbank und wie man Werte (viele Werte) schnell und einfach ändern kann. Unter anderem hat mein Server auf dem MySQL läuft und auch alle Datenblätter eine neue IP Adresse bekomme. In Elela sind die Links bei den Bauteilen zu den Datenblätter natürlich jetzt nicht mehr gültig. Bei einigen habe ich sogar noch den WINS Namen eingetragen. Neue Server IP: 192.168.1.100 Alte Server IP: 192.168.2.100 WINS Name: Homeserver Ich möchte also jetzt alles auf einen einheitlichen Stand bringen. Statt dem WINS Namen soll nur noch die IP verwendet werden. Alles händisch zu ändern bei tausenden Bauteilen ist dann doch wieder eine Lebensaufgabe. Aber ich denke das geht auch automatisch. Ein bisschen habe ich gegoogelt weiß aber nicht wo ich in der Datenbank ansetzen soll. Mit dem Befehl Update sollte es ungefähr so gehen UPDATE tabelle SET feldname = wert WHERE (bedingung); Nur in welcher Tabelle steht die Info?
Walther schrieb: > ich arbeite schon seit längerem mit ELELA. Ich arbeite mit PartDB und kenne EleLa noch nicht. Der Thread ist seit längerem unter Beobachtung. Bisher hat mich die 2-Komponenten Lösung Server-Client und die veraltete Optik abgeschreckt es anzufassen und produktiv etwas anzufangen. Ob und wie weit das Problem in EleLa lösbar ist, kann ich nicht sagen. Aber viele Wege führen nach Rom. Der Schilderung nach würde ich folgendermaßen vorgehen oder in Erwägung ziehen: Walther schrieb: > UPDATE tabelle SET feldname = wert WHERE (bedingung); - Mit dem MySQL Browser zunächst die entsprechenden Tabellen analysieren und Datensätze nach den Werten (servername, IP etc.) absuchen. Danach könntest du das update direkt in der Datenbank fahren. - Oder noch einfacher, die alte Datenbank plaintext als .sql exportieren. In einem Editor öffnen, mit Suchen und Ersetzen die Werte umschreiben lassen, die Datenbank auf dem neuen Server importieren. Möglich wäre auch eine reine Lösung auf Netzwerkbasis, ohne die Datenbank oder Daten anzufassen. - Dem neuen Server eine zweite IP Adresse (die alte) dazukonfigurieren. Wenn der Server intern die Aufgabe der Anlagenverwaltung und Auslieferung als payload durchführt, ist das Problem hiermit erledigt. Ich frage mich eh, was dagegen spricht dass der Server die Attachments nicht als localhost/webroot verarbeitet, statt dessen absolute (lokale!) Pfade einträgt. - Sollte der Client die Attachments als url anfordern, benötigt er etwas Hilfe beim Umschreiben. In Frage käme der DNS Server oder der Client selbst. - Dazu den alten Servernamen mit der neuen IP, dem DNS Server als statischen Eintrag anlegen. Die alte IP auf den neuen Servernamen ebenfalls statisch anlegen. Dazu noch eine Route des alten Netzwerksegments auf den neuen Server legen. - Oder kompletten Traffic per NAT an neue IP weiterleiten. - Oder als Insellösung die Umschreibung direkt beim Client vornehmen, in seiner hosts-Datei, den alten hostnamem mit der neuen IP anlegen. Den neuen hostnamen mit einem Alias des alten Servernamen ergänzen. Das war, was mir spontan so einfällt. Auf nach Rom :) Nachtrag: noch eine Idee, einen Apache/Nginx mit der url-Umschreibung und redirect beauftragen.
:
Bearbeitet durch User
Mister A. schrieb: > Bisher hat mich die 2-Komponenten Lösung > Server-Client und die veraltete Optik abgeschreckt es anzufassen und > produktiv etwas anzufangen. Ich finde das Programm spitze und nicht jede Applikation muss im Windows 10 Look daher kommen, welches ich übrigens nur als Katastrophe bezeichnen kann. Die Client-Server Konfiguration ist bei EleLa kein Zwang. > - Mit dem MySQL Browser zunächst die entsprechenden Tabellen analysieren Wozu? Im EleLa Helpfile ist auch das Datenmodell dokumentiert und die SQL-Befehle lassen sich auch alle direkt in EleLa durchführen. Vorher sollte natürlich eine Datenbank-Sicherung durchgeführt werden. Das geht auch direkt in EleLa und zwar unabhängig davon ob eine Datenbank am Server oder lokal verwendet wird. LG. JK
Jaroslaw K. schrieb: > Ich finde das Programm spitze und nicht jede Applikation muss im Windows > 10 Look daher kommen, welches ich übrigens nur als Katastrophe > bezeichnen kann. Ich komme aus der Linux Welt und habe mich vor gut 10 Jahren von allen aufgedrungenen "intelligenten Automatismus" Fesseln gelöst. Mittlerweile stechen mir schon ein paar aneinandergereihte bunte Icons oder diese bescheuerten Kacheln die Augen aus. Ich finde eine schlichte und einfache Menüführung mit Text tut es vollkommen. Lesen kann ja mittlerweile jeder? Nunja, Geschmackssache, kein Universalrezept. EleLa finde ich schon interresant. Sehr interresant. Schon auf den ersten Blick zeigt es dass sich jemand Gedanken zu nützlichen, brauchbaren und benötigten Funktionen gemacht hat. Also etwas maßgeschneidertes, kein Stangenmaterial, entwickelt wurde. Lob an den/die Entwickler. Nehmen wir an, ich würde einen Versuch starten... Womit fängt man an? Mit der stable v3.0, der v3.1 oder einer aktuellen nightly? Einen zentralen Datenbank- und Webserver habe ich, segmentiertes Netzwerk usw. Jedoch würde ich für EleLa einen Raspberry als Häuptling einsetzen. Als headless Server, nicht als client. Die clients (Arbeitsmaschinen) sind alle Linux Desktops mit Debian, Ubuntu und ähnlichem. Nur die sollten das Backend benutzen können. In meiner Anwesenheit natürlich :) Windows hat Hausverbot, das Ausführen von irgendwelchen .exe ist nicht möglich, gegeben oder gewünscht. Wie sieht es mit Daten aus? Komplett clean ohne alles, ohne footprints, ein paar Dioden, Transistoren? Oder gibt es eine Demodatenbank, oder einen User der seine z.V. stellen könnte und würde? Jaroslaw K. schrieb: > Im EleLa Helpfile ist auch das Datenmodell dokumentiert Das hört sich gut an. Schließlich möchte man nach einem Testlauf mit produktiven Daten arbeiten. Soweit möglich die eigens mühsam zusammengetragenen weiterverwenden. Aber das ist ein anderes Thema. Jaroslaw K. schrieb: > Vorher sollte natürlich eine Datenbank-Sicherung durchgeführt werden. Diesen Satz lese ich in jedem zweiten Beitrag. Damit steigt die Skepsis, ob das Gerüst auch stabil ist bzw. wie einflussreich die Anbauten sind, die nachträglich folgen und dazuentwickelt werden. Ich hoffe ihr könnte mir die eine oder andere Frage beantworten. Vielen Dank
Mister A. schrieb: > Nehmen wir an, ich würde einen Versuch starten... > Womit fängt man an? Mit der stable v3.0, der v3.1 oder einer aktuellen > nightly? Ich würde auf jeden Fall die letzte stabile Version empfehlen. Das gilt aber nicht nur für EleLa. Ein Einsteiger, der ein Programm erstmal kennenlernen will, wird sich IMHO eher nicht auch noch mit Bugs einer Beta-Version befassen wollen. > Einen zentralen Datenbank- und Webserver habe ich, segmentiertes > Netzwerk usw. Jedoch würde ich für EleLa einen Raspberry als Häuptling > einsetzen. Als headless Server, nicht als client. Bei mir läuft die Datenbank am Raspi. Dieser ist allerdings mit einer SSD ausgestattet, da SD-Karten eher schlechten Ruf als Datenträger haben. Vor allem, wenn ständig darauf geschrieben wird. > Wie sieht es mit Daten aus? Komplett clean ohne alles, ohne footprints, > ein paar Dioden, Transistoren? Oder gibt es eine Demodatenbank, oder > einen User der seine z.V. stellen könnte und würde? Ich habe vor Jahren mit der v2.0 und der mitgelieferten Datenbank begonnen. Sie hat ein für mich ausreichendes Grundgerüst geboten. Was aktuell sinnvoll wäre, kann ich leider nicht sagen. >> Vorher sollte natürlich eine Datenbank-Sicherung durchgeführt werden. > Diesen Satz lese ich in jedem zweiten Beitrag. Damit steigt die Skepsis, > ob das Gerüst auch stabil ist bzw. wie einflussreich die Anbauten sind, > die nachträglich folgen und dazuentwickelt werden. Damit habe ich nicht gemeint, dass hier EleLa instabil oder unausgereift wäre. Ein Backup sollte man immer vor derartigen Änderungen machen! Immerhin wird da auf die Datenbank, am Programm vorbei, zugegriffen. Wenn Du irgendwo einen Fehler machst, kann es u.U. die Datenbank inhaltlich Ruinieren. Die Korrektur ist dann wesentlich schwieriger, als die Daten aus dem Backup wieder herzustellen. LG. JK
:
Bearbeitet durch User
Walther schrieb: > Ich möchte also jetzt alles auf einen einheitlichen Stand bringen. Statt > dem WINS Namen soll nur noch die IP verwendet werden. Alles händisch zu > ändern bei tausenden Bauteilen ist dann doch wieder eine Lebensaufgabe. > Aber ich denke das geht auch automatisch. Das mit den Handbüchern umstellen geht in EleLa normalerweise ganz einfach, allerdings muss man den Parameter für den Handbuch Wurzelpfad korrekt gesetzt haben. Die Pfade der Handbücher in EleLa werden innerhalb von EleLa mit einem speziellen Präfix in der Datenbank gespeichert. Diesen Präfix stellt man entweder während der Installation von EleLa ein (Dialog im Setup) oder unter: Extras-F10 > Log > Optionen > Verzeichnisse In dieser Ansicht steht in der Ersten Zeile: "Bauteile" [Einbagefeld] "($H)" Wichtig ist dabei dass man diesen Parameter schon zu Anfang mit dem Wurzel-Verzeichnis aller Datenblätter einstellt, damit kann man die Datenblätter an einen komplett anderen Ort verschieben und muss nur noch diesen einen Parameter anpassen. Beispiel: Eingestellter Parameter: "H:\Elektronik" Datenblatt eines Teiles: "H:\Elektronik\www.Hersteller.com\Teil.pdf" Nun sieht EleLa automatisch dass dieses Datenblatt mit dem Parameter "H:\Elektronik\" übereinstimmt und schreibt dann das in die Datenbank: "($H)\www.Hersteller.com\Teil.pdf" Wenn man nun den Parameter ändert z.B. auf: "D:\LokaleDatenblätter" dann wird EleLa automatisch das "($H)" ersetzen und dann sieht der Link so aus: "D:\LokaleDatenblätter\www.Hersteller.com\Teil.pdf" So viel zur Einleitung wie das Handbuch-System in EleLa funktioniert und ein Sysadmin sehr leicht seine Datenstruktur ändern kann. Wegen deinem Problem: Als erstes, bevor man an den Daten manuell mit SQL Befehlen eine Sicherung machen, denn nichts ist schlimmer als Daten falsch zu manipulieren und dann noch größere Probleme zu haben: Extras-F10 > Datenbank > Import-/Export Menü > Importiere/Exportiere Datenbank > Export Analysieren wie die Daten in der EleLa Datenbank tatsächlich aussehen: Extras-F10 > Datenbank kann der SQL Befehl eingegeben werden:
1 | SELECT Handbuch, Handbuch AS Hnd FROM bauteil WHERE NOT Handbuch IS NULL |
Das Ergebnis müsste dann so aussehen wie im angehängten Screenshot zu sehen ist, die Spalte "Handbuch" konvertiert EleLa automatisch, die Spalte "Hnd" nicht, da sieht man die Original Daten wie sie in der Datenbank stehen. Schicke mir so ein Screenshot, dann kann ich weiter helfen mit welchem SQL Befehl man die Daten alle so ändert, dass zu Beginn auch überall "($H)" steht und man den Parameter nutzen kann.
:
Bearbeitet durch User
Mister A. schrieb: > Das war, was mir spontan so einfällt. Auf nach Rom :) Mit den Bordeigenen Mitteln von EleLa kann man so ziemlich alles machen was einem Lieb ist, es braucht nur externe Tools um z.B. die Datenbank zu installieren (das Setup der Datenbank MariaDB/MySQL/PostgreSQL/MsSQL) und dann ein Tool wo man einen Datenbanknutzer für EleLa einrichtet und diesem Nutzer die Rechte gibt, die EleLa benötigt. Die Datenbank anlegen, samt Tabellen kann dann EleLa. Um einfach mal mit EleLa zu "üben" verwendet man am besten die Variante "SQLite", damit braucht man das ganze mit dem SQL Server nicht machen und EleLa startet einfach nach dem Setup. Nur bei Linux muss man der Linux-EXE das Recht "Ausführen" geben, damit die EXE Startet (mein Windows kann das nicht ins ZIP speichern). Ich empfehle für jeden der nur einen PC nutzt und mit SQL Server bisher noch nichts am Hut hatte der Einfachheit halber SQLite zu nutzen. Sollte man später mal mehr machen, bzw. einen SQL Server nutzen wollen so kann EleLa diese immer in den SQL Server importieren. Ein Backup macht EleLa immer in eine SQLite Datenbankdatei. Es spricht nichts dagegen EleLa V3.1 zu nutzen, darin sind einige Bugs aus V3.0 gefixt. Design: Auch wenn EleLa relativ "Platt" aussieht, mir ist es wichtiger dass die EXE möglichst schnell und flüssig arbeitet und man die Infos sieht die man braucht. EleLa verwendet die "Standard" Komponenten, die immer im Compiler mit verfügbar sind und keine hübsche tolle Fremdkomponenten, damit habe ich eine sehr wichtige Abhängigkeit weniger, was wiederum ein Fortbestehen über viele Jahre garantiert. (Ja, ich hatte schon entsprechende Erfahrungen die letzten 25 Jahre) Zum Start: Mit "F1" öffnet die Hilfe und es ist alles darin beschrieben, auch Tipps wie man Dinge eingeben sollte, bzw. wie es sich der Programmierer dachte. Der Abschnitt "Allgemeine Infos" sollte jeder als Grundlage gelesen haben, da steht das wichtigste drin. (Linux-User sollten KChmViewer installieren, damit kann EleLa auch unter Linux eine kontextbezogene Hilfe öffnen)
:
Bearbeitet durch User
Danke euch für die Antworten. Das (Online)Handbuch habe ich gefunden und es mir draußen im Garten gemütlich gemacht. Wahrscheinlich wird das Setup heute noch durchgefahren. Sobald ein Raspberry freigeschaufelt ist. Kleine Zwischenfrage aus http://www.mmvisual.de/Hilfe/EleLa/InstallLinux.htm >Für Ubuntu 64Bit sind hier Lösungen beschrieben: http://wiki.ubuntuusers.de/getlibs Der Artikel/Link ist nicht vorhanden. Getlibs ist kein Paket, welche libs werden für EleLa benötigt? >Wenn Sie EleLa als Warenverwaltung nutzen wollen, dann die Datei "EleLa.sq3" umbenennen und "EleLa_Waren.sq3" zu "EleLa.sq3" umbenennen. Somit ist die Start-Datenbank für Warenlager/Artikel aktiviert. Verständnisproblem. Warenlager <> Bauteilelager? Demodatendank?
:
Bearbeitet durch User
Bei Linux ist in der Regel alles schon orhanden, EleLa braucht nichts extra, bzw. es wird dann in der Konsole geschrieben was man noch für libs installieren muss. Als nützliches Tool sollte "KChmViewer" installiert werden, das kennt EleLa und nutzt es automatisch als Hilfe Viewer, das Tool ist nur optional nötig. Den nicht mehr funktionierenden externen Link habe ich nun gelöscht. Die Hilfe von EleLa kann als CHM Datei geladen werden und man kann diese offline mit einem Pad und einer CHM Reader App nutzen. Ich nutze gerne die App "SuperCHM". http://mmvisual.de/elela/ > EleLa_V3.1 > EleLa.chm Man kann EleLa auch als Artikel-Datenbank nutzen, also nicht Elektronik Bezogen, dafür habe ich eine separate Start-Datenbank erstellt, damit man nicht die "Gehäuse" der Bauteile sieht, dass sind dann "Verpackungen". Dazu gibt es dann noch eine andere Sprach-Übersetzungsdatei, die "Gehäuse" in "Verpackung" und "Bauteil" in "Artikel" umbenennt. Mit einer komplett leeren Datenbank würde der Einstieg viel schwerer sein, so hat man schon Beispiele.
:
Bearbeitet durch User
Mir ist etwas dazwischengekommen, konnte erst sehr spät anfangen. Entweder bin ich zu doof oder meine, dass jede Menge Dateien fehlen um mit der v3.1 clean zu starten. Wenn ich es richtig interpretiert habe ist die v3.0 das Release. Die v3.1 beinhaltet nur die Diffs für das Update. Jedenfalls bin dann auf die v3.0 gegangen und es hochgepatched. Nebenbei das ganze festgehalten, etwas in Form gebracht (gleich für alle 3 Platformen), kommentiert und einen Installer zusammengekritzelt. Das war natürlich nicht geplant, hat sich einfach so ergeben :) Vielleicht möchtet ihr drüberschauen und Korrekturlesen...
1 | ### EleLa Installation |
2 | ### Raspberry Pi ARM, Linux 32-bit, 64-bit |
3 | ### |
4 | ### by Mr.AtiX, 200423, v0.1 |
5 | |
6 | # prereq Pakete installieren |
7 | sudo apt-get update && sudo apt-get install curl dialog wget pstree unzip tzdata |
8 | sudo apt-get install smbclient mysql-client |
9 | |
10 | # passenden CHM-Viewer installieren |
11 | if [ echo "$XDG_DATA_DIRS" | grep -Eo 'xfce|kde|gnome|mate' = "kde" ] |
12 | then |
13 | sudo apt-get install kchmviewer okular # kde |
14 | else |
15 | echo $DESKTOP_SESSION |
16 | sudo apt-get install xchm # gnome,xfce,mate |
17 | fi |
18 | |
19 | # Zeitzone setzen und aktivieren |
20 | sudo timedatectl set-timezone Europe/Berlin |
21 | sudo ln -fs /usr/share/zoneinfo/Europe/Berlin /etc/localtime |
22 | sudo sh -c 'echo "Europe/Berlin" > /etc/timezone && dpkg-reconfigure -f noninteractive tzdata' |
23 | |
24 | # todo: sonstige Lokalisation und Sprachen |
25 | # locale setzen |
26 | # sudo locale-gen |
27 | |
28 | # Installationsverzeichnis anlegen |
29 | ELELADIR="$HOME/EleLa" |
30 | mkdir -p $ELELADIR/Handbuch # warum heisst das Attachments Verzeichnis Handbuch? |
31 | |
32 | # Download EleLa |
33 | cd `xdg-user-dir DOWNLOAD` |
34 | wget -t1 -nd -cNS... # url-Liste der Downloads |
35 | |
36 | # Entpacken |
37 | unzip -o EleLa_V3.0.18B15_RaspberryPi_Install.zip -d $HOME/ |
38 | unzip -o EleLa_V3.0.18B15_Linux32.zip -d $ELELADIR/ |
39 | unzip -o EleLa_V3.0.18B15_Linux64.zip -d $ELELADIR/ |
40 | unzip -o EleLa_V3.1.20309_RaspberryPi.zip -d $ELELADIR/ |
41 | unzip -o EleLa_V3.1.20309_Linux32.zip -d $ELELADIR/ |
42 | unzip -o EleLa_V3.1.20309_Linux64.zip -d $ELELADIR/ |
43 | chmod +x $ELELADIR/EleLa.rpi |
44 | chmod +x $ELELADIR/EleLa.32 |
45 | chmod +x $ELELADIR/EleLa.64 |
46 | cp -u EleLa.chm $ELELADIR/ |
47 | cp -u $ELELADIR/EleLa.sq3 $ELELADIR/EleLa.sq3.bak |
48 | cp -u $ELELADIR/EleLa_Elektronik.sq3 $ELELADIR/EleLa.sq3 |
49 | |
50 | # den richtigen Desktop, Arbeitsflaeche, Schreibtisch benutzen |
51 | mv $HOME/Desktop/EleLa.desktop `xdg-user-dir DESKTOP`/ |
52 | |
53 | # Starter umschreiben fuer x86,x64 |
54 | # >Icon=/home/pi/EleLa/EleLa.png |
55 | sed -i 's/\/home\/pi\/Elela/${ELELADIR}/g' `xdg-user-dir DESKTOP`/EleLa.desktop |
56 | # >Exec=/home/pi/EleLa/EleLa.rpi |
57 | cp -u `xdg-user-dir DESKTOP`/EleLa.desktop `xdg-user-dir DESKTOP`/EleLa-rpi.desktop |
58 | sed -i 's/.rpi/.32/' `xdg-user-dir DESKTOP`/EleLa.desktop |
59 | cp -u `xdg-user-dir DESKTOP`/EleLa.desktop `xdg-user-dir DESKTOP`/EleLa-x86.desktop |
60 | # >Exec=.../EleLa.32 |
61 | sed -i 's/.32/.64/' `xdg-user-dir DESKTOP`/EleLa.desktop |
62 | cp -u `xdg-user-dir DESKTOP`/EleLa.desktop `xdg-user-dir DESKTOP`/EleLa-x64.desktop |
63 | chmod ug+rwx o- `xdg-user-dir DESKTOP`/EleLa*.desktop |
64 | mv `xdg-user-dir DESKTOP`/EleLa.desktop ${ELELADIR}/ |
65 | |
66 | # ins Menue ablegen |
67 | sudo cp `xdg-user-dir DESKTOP`/EleLa-rpi.desktop /usr/share/raspi-ui-overrides/applications/ |
68 | sudo cp `xdg-user-dir DESKTOP`/EleLa-x86.desktop /usr/share/applications/ |
69 | sudo cp `xdg-user-dir DESKTOP`/EleLa-x64.desktop /usr/share/applications/ |
70 | |
71 | # Mountpoint-Beispiele eintragen |
72 | echo "#//$SERVER/$SHARE ${ELELADIR}/Handbuch cifs user=$USER,password=$PASS,vers=1.0,iocharset=utf8,rw,file_mode=0777,dir_mode=0777,nounix,x-systemd.requires=network-online.target 0 0" | sudo tee --append /etc/fstab |
73 | echo "#//cronas/data /mnt/cronas/data cifs rw,user,credentials=${HOME}/.smb,vers=3.0 0 0" | sudo tee --append /etc/fstab |
74 | echo "#cronas:/export/data /mnt/cronas/data nfs rw 0 0" | sudo tee --append /etc/fstab |
75 | echo "#/mnt/cronas/data/elela ${ELELADIR} none bind,rw 0 0" | sudo tee --append /etc/fstab |
76 | sudo nano +99 -Bw /etc/fstab |
77 | sudo mkdir -p /mnt/cronas/data/elela |
78 | |
79 | # vorsorglich Rechte durchziehen |
80 | sudo chown -R $USER:$USER $HOME |
81 | |
82 | # END (geht aber noch weiter...) |
:
Bearbeitet durch User
Vielen Dank für den Script! Ich würde den so mit in die Hilfe aufnehmen, als "Anhaltspunkt". Ist das OK? Wegen: # warum heisst das Attachments Verzeichnis Handbuch? "Handbuch" sind Handbücher, Datenblätter, App-Notes, von allen Bauteilen und Dinge die man so hat. Handbücher sind eigentlich keine "Anhängsel" eher was grundlegend wichtiges. "Handbuch" sind bei mir alle Handbücher zu allen möglichen Themen, nicht nur Elektronik. Dieses Handücher sind bei mir als "H:" Laufwerk verbunden. Man könnte dies auch "Datenblätter" (oder die englischen Bezeichnungen verwenden), ich bleibe da lieber bei den deutschen Bezeichnungen, da ich damit weniger Probleme mit englischen Schlüsselwörter bei der Programmierung habe. Ein definiertes "Handbuch" Verzeichnis ist in EleLa sehr wichtig, siehe hier: Beitrag "Re: EleLa - Elektronik Lagerverwaltung V3.1" Bei EleLa kann man in das Eingabefeld natürlich auch eine Web-Adresse eintragen, dann wird dahin navigiert. Oder auch ein Verzeichnis, dann öffnet EleLa einen Datei-Browser. Die Web-Adresse als Datenblatt Quelle empfehle ich nicht zu verwenden, denn man weiß nie wann der Hersteller seine Web-Verzeichnisstruktur umbaut oder einfach Dinge löscht. Bei mir habe ich die Datenblätter der Elektronik so organisiert: H:\Elektronik - als Wurzel Darunter Ordner mit z.B. www.analog.com www.cypress.com www.fairchildsemi.com : : mit entsprechenden Unterverzeichnissen, z.B. Mosfets usw. Alles gut sortiert, die www Adresse als Name. Im Prinzip ist es das private Wiki. Während dem Leben sammelt sich so einiges.
Markus M. schrieb: > Ich würde den so mit in die Hilfe aufnehmen, > als "Anhaltspunkt". Ist das OK? Sicher doch. Es basiert primär auf deiner http://www.mmvisual.de/elela/EleLaRPiInstall.pdf und soll dir gehören. zur Entstehung: Ich habe es als Zeilenweise Installation auf einem Xenial MATE x64 durchgeführt und nachträglich gescripted. Die Shebangzeile wurde mit Absicht nicht im Header eingetragen, damit es (vorerst) nicht blind und unkontrolliert gestartet wird. Einfach zur Vermeidung der bekannten "geht nicht" Rückmeldungen :) Da gehört noch mindestens eine Abfrage oder Startparameterübergabe für die gewünschte Platform (ARM,x86,x64 Zeile 37-42) hinein. Weiter wollte ich keine hardkodierten Downloadlinks ohne Rücksprache aufnehmen (Zeile 34). Ergo die Installationsfiles müssen im Downloadverzeichnis vorliegen. Kurz zusammengefasst, die Installation funktioniet, EleLa ist damit startbar und lauffähig. Was auf jeden Fall noch kommt, ist ein gescripteter Teil für MySQL. Wie eingangs schon erwähnt, würde ich das ganze gerne ausschließlich als Multiclient-Instanzen mit einer zentraler Datenbank (Daten) und Datenspeicher (Handbuch) einsetzen wollen. Daher auch nicht jeden client (Instanz) händisch installieren oder konfigurieren möchten. Markus M. schrieb: > "Handbuch" sind Handbücher, Datenblätter, App-Notes, von allen Bauteilen > und Dinge die man so hat. Ja, das habe ich mir soweit schon gedacht. Ich fand die Bezeichnung etwas verwirrend da das Handbuch (EleLa.chm) im Programmroot ($ELELADIR) liegt. Die Datenstruktur und Pfade werde ich mir noch genauer ansehen. Aber zunächst, es ist ein neues Programm, das möchte ich mir mit den Augen und Fingern anschauen :)
:
Bearbeitet durch User
Eine Bitte hätte ich noch, könnte mir jemand ein paar Demodaten schicken? Ich dachte da (was mich primär interressiert) ein kleines selbstgebautes oder nachgebautes Projekt mit wenigen Bauteilen. Womit ich das praktische Handling (Einkauf, Datenfelder, Bestückung, Projekteinsatz) nachvollziehen könnte. Ich hoffe ihr versteht was ich meine... Etwas wie einen simplen Blinker mit NE555, Transistor, LED, 2 Widerstände.
Markus M. schrieb: > Bei mir habe ich die Datenblätter der Elektronik so organisiert: > H:\Elektronik - als Wurzel > Darunter Ordner mit z.B. > www.analog.com > www.cypress.com > www.fairchildsemi.com Folgt es einen Automatismus (Sortierung und ggf. Umschreibung) oder ist das frei Nase wählbar? Falls ja, muss hier escaped werden (enthaltene Leerzeichen, Sonderzeichen, Steuerzeichen)?
:
Bearbeitet durch User
Mister A. schrieb: > Eine Bitte hätte ich noch, könnte mir jemand ein paar Demodaten > schicken? Im Anhang ein kleines Projekt mit Platine. Im ZIP ist eine CAD CSV Datei die man in der ProjektPos importieren ("Import CAD CSV") kann sowie die Bilder SLP, PL und PL3D die man nacheinander beim Projekt einfügen kann. Mit Doppelklick auf dem Bild PL zeigt sich das Bild größer und man kann es dann auch skalieren. Das rote Fadenkreuz zieht man auf links unten, da ist der 0-Punkt und das blaue auf rechts oben, das ist dann die Koordinate 61mm / 31,4mm. (Siehe Hilfe Allgemeine Infos > Bildvorschau) Die meisten Bauteile sind in der Start-Datenbank nicht vorhanden, daher kann man wohl nur die Widerstände mit einem Bauteil aus "Bauteile-F2" verknüpfen. Wie das geht steht in der Hilfe zur Projekt Position. Obwohl die Bauteile nicht unter "Bauteil-F2" vorhanden sind, dürfen die Positionen vorhanden sein, es ist also kein Zwang die Teile an zu legen, somit kann man auch Projekte Planen wie z.B. völlig abstrakte Dinge wie: "Ich will mir ein neues Auto kaufen" Da kommen dann je Position die unterschiedlichen Modelle rein, Bilder und diverse Felder kann man dann missbrauchen um diverse technische Daten vergleichen zu können. Da wird man natürlich nicht jede Automarke als Bauteil anlegen, da schlussendlich man sich nur für eines entscheiden wird, das man da auch wiederum nicht anlegen wird, da man wohl die nächsten Jahre dieses nutzen wird und das nächste mal es wieder andere Modelle gibt. Was ich damit sagen wollte, ein Projekt muss nicht unbedingt etwas mit Elektronik zu tun haben, damit kann man viel mehr für sich organisieren/planen.
Ein Bug hat sich beim Import von Projekt Positionen eingeschlichen, nun wird die Import-CSV Textdatei immer zu erst anhand der Dateicodierung untersucht und ggf. in UTF8 konvertiert bevor die Datei importiert wird. Alle EXE Versionen EleLa V3.1.20423 können nun ab hier geladen werden: http://www.mmvisual.de/elela -> EleLa_V3.1 - Win 32/64 - Linux 32/64 - RaspberryPi - Hilfe Hier gibt es Setup Pakete, auch für Neuinstallationen unter Linux/RPi: http://www.mmvisual.de/elela -> EleLa_V3.1.20423_RC2 Bitte testet dies, wenn was auffällt bitte melden. Gerne auch im Chat unter: https://t.me/mmvisual_elela
Anbei noch die Datei zu meinem Posting von 22:55... Beitrag "Re: EleLa - Elektronik Lagerverwaltung V3.1"
Die Hilfe-Datei wurde mit einem neuen Tutorial "Projekt erstellen" erweitert: http://www.mmvisual.de/elela -> EleLa_V3.1 Das Handling, wie Bestücken, Lagerbuchung usw. steht bei der Hilfe bei ProjektPos.
Bevor ich zum eigentlichen Post komme, in der Anlage die letzte Scriptversion. ### Script fuer eine automatische Installation, Konfiguration*, Sicherung*, Wiederherstellung, Verteilung* von EleLA. ### Lauffaehig unter Raspberry Pi ARM, Linux 32-bit, 64-bit ### by Mr.AtiX, 200426, v0.3 Ich habe noch einiges dazugekritzelt und es enorm ausgebaut. Durch einen leichtsinnigen Fehler in der Bedienung des Editors, oder einfach nur zur falschen Uhrzeit, ging ein fertig gescripteter Teil verloren: Die Sicherung. Die paar Zeilen muss ich nochmal schreiben. Der Abschnitt Wiederherstellung hingegen hat es überlebt :) Normalerweise sollte es umgekeht sein. Das Deployment (Verteilung) funktioniert auch schon. Syntaxfehler kann ich nicht ausschließen, wer welche findet, bitte zurückgeben statt behalten :) Viel Spaß
Markus M. schrieb: > Im Anhang ein kleines Projekt mit Platine. Im ZIP ist eine CAD CSV Datei > die man in der ProjektPos importieren ("Import CAD CSV") kann sowie die > Bilder SLP, PL und PL3D die man nacheinander beim Projekt einfügen kann. Nochmals Danke auf diesem Weg. Ich habe es mir angeschaut. Den Projektimport (Bauteileliste) konnte ich relativ einfach hinbekommen. Den Rest (Bilder) erst Stunden später und auch nur per Zufall :) Gestern habe ich den ganzen Tag damit gespielt (Bauteile, Lieferanten, Hersteller, Footprints, Einkäufe, Lager angelegt), um einen Einblick und Gefühl zu bekommen. Eins möchte ich gleich mal ganz groß und dick loswerden: Das Programm ist der Hammer! Die Möglichkeiten sind enorm. Die Funktionen gut durchdacht, programmiertechnisch hervorragend und fehlerfrei umgesetzt. Von den Einsatzmöglichkeit her hat es sowohl meine Erwartungen als auch die Anforderungen deutlich übertroffen. Es ist nicht nur eine gute oder bessere Lagerverwaltung, es ist ein Projektmanagement-Instrument. Dazu noch ein gut dokumentiertes und gepflegtes Handbuch, Support im Forum/Webseite usw. ganz dickes Lob Leider hat jede Medaille auch eine Kehrseite. Ich versuche es mal harmlos wie möglich darzustellen. - Es ist kein Ersatz für zeitgemäße moderne Software. Viele logische Schritte oder Haptik ist nicht vorhanden bzw. eine andere. Die Einarbeitung ist sehr anstrengend (erinnert mich an EAGLE vs KiCAD). Mächtig aber anspruchsvoll. - Teilweise keine Tastaturunterstützung, wo sie angebracht wäre (z.B. beim diesen vertikalen Scrollisten (Bauteileliste) um wenigstens den Anfangsbuchstaben zu tippen. Generell komplette Tastaturunterstützung wäre sehr vorteilhaft. - Merkwürdige kleine Pufferprobleme und Schluckauf in Textfeldern. Beim Markieren mit der Maus wird gerne der Zeilenanfang ignoriert, oder Fokusierung des Mauszeigers (springt oft und gerne an das Zeilenende). Den gleichen Fehler sah ich damals bei PartKeepr. - Handbuch: für Datasheets und Anlagen keinen Upload. Wie arbeitet man damit, etwa manuel ins Handbuchverzeichnis kopieren und im Programm mühsam durchwühlen um es zu verlinken? Zu Erfindungen wie drop-in sag ich mal gar nichts. Sieht jedenfalls nach fehlenden Grundeigenschaften einer jeder Dokumentenverwaltung aus. - Vorbelegte statische Ansicht der jeweiligen "ersten Seite". Im unteren Daten/Tabellenbereich fehlen mir relevante Datenfelder (Spaltenauswahl dazu ist eingeschränkt). Oder beim Anlegen eines Bauteils sind nicht alle relevanten Felder an einer Stelle (ergo hinter mehreren Tabs/Karten). - Sync von gesplitteten/geteilten Fenstern. Das irritiert mich, die obere und untere Bildschirmhälfte hat nicht die gleichen Daten in den Feldern, des gleichen Bauteils. Anwenderfehler? - Rastermaß bei Footprints haben nur 2 Nachkommastellen und werden automatisch auf/abgerundet. Ich glaube das betrifft auch die Preisfelder. - Datenabfrage Octopart. Das haut nicht hin. Der Browser dröhnt den Benutzer mit Stundenlangen Captcha-Mosaikspielen. API-Key? Das sind so die primären Sachen, die mir aufgefallen sind oder gestört haben. Es soll keine Negativ-Kritik-Liste werden. Die Software ist gigantisch, eine Einarbeitung lohnt sich auf jeden Fall. Ich bleibe auf jeden Fall dran und springe nicht sofort ab. Die größten Bauchschmerzen die ich im Moment sehe, wie ich den Datenbestand aus PartDB hineinimportiert bekomme. Es sind gut 5000 Bauteile mit Datasheets und dazugehörigen Unterlagen, genaue Lagerinformationen mit über 300 "Kisten", Bestell- und Einkaufspositionen, Bauteilepreise (jedes von mind. 2 Lieferanten) und dann noch die eigenen PCB Projeke. Da fang ich nach 2 Jahren Mühe sicherlich nicht mit einer leeren Datenbank an, die neu aufzubauen.
:
Bearbeitet durch User
Markus M. schrieb: > Wegen deinem Problem: > Als erstes, bevor man an den Daten manuell mit SQL Befehlen eine > Sicherung machen, denn nichts ist schlimmer als Daten falsch zu > manipulieren und dann noch größere Probleme zu haben: > Extras-F10 > Datenbank > Import-/Export Menü > Importiere/Exportiere > Datenbank > Export > > Analysieren wie die Daten in der EleLa Datenbank tatsächlich aussehen: > Extras-F10 > Datenbank > kann der SQL Befehl eingegeben werden:SELECT Handbuch, Handbuch AS Hnd > FROM bauteil WHERE NOT Handbuch IS NULL > Das Ergebnis müsste dann so aussehen wie im angehängten Screenshot zu > sehen ist, die Spalte "Handbuch" konvertiert EleLa automatisch, die > Spalte "Hnd" nicht, da sieht man die Original Daten wie sie in der > Datenbank stehen. > Schicke mir so ein Screenshot, dann kann ich weiter helfen mit welchem > SQL Befehl man die Daten alle so ändert, dass zu Beginn auch überall > "($H)" steht und man den Parameter nutzen kann. Also Datenbanksicherung ist klar. Mach ich regelmäßig. Btw. wenn wir schon bei Sicherung sind: Manuell mach ich ungefähr einmal im Monat und natürlich vor Updates und solchen Eingriffen wie jetzt ein Backup. So 5 Backups behalte ich und die älteren werden dann gelöscht. Würde das auch automatisch gehen? So das jeden Monat etc. ein Backup in das Backup Verzeichnis erstellt wird und dabei nur die letzten 5 Backups behalten werden. Alles ältere wird gelöscht. Ist aber nur ein nicetohave Vorschlag. Zum Problem: Also es steht überall ein "($H)" davor. Die wenigen wo das nicht so war habe ich händisch geändert. Aber so wie ich das sehe werden nur die Datenblätter angezeigt, welche im "Bauteil-Handbuch" eingetragen sind. Die "Gehäuse-Handbücher" nicht.
Walther schrieb: > Würde das auch automatisch gehen? Ja, EleLa unterstützt den Kommandozeilenparameter "-b" für Backup. Siehe hier: http://www.mmvisual.de/Hilfe/EleLa/Install.htm Abschnitt "Kommandozeilenparameter" Um dies automatisiert zu nutzen kann man EleLa auf dem Server der SQL Datenbank installieren und per Task z.B. einmalig Nachts laufen lassen. Oder man legt auf dem Desktop ein EleLa Backup-Icon mit diesem Parameter an, wenn man mag kann man schnell ein Backup manuell erstellen. Walther schrieb: > Die "Gehäuse-Handbücher" nicht. Die Gehäuse sind in einer anderen Tabelle, der SQL Befehl wäre dieser:
1 | SELECT Handbuch, Handbuch AS Hnd FROM gehause WHERE NOT Handbuch IS NULL |
Nahezu jede Tabelle hat eine "Handbuch" Spalte. EleLa hat ca. 20 Tabellen: http://www.mmvisual.de/Hilfe/EleLa/TutorialDB/TutDB.htm
Mister A. schrieb: > Ich habe noch einiges dazugekritzelt und es enorm ausgebaut. Vielen Dank! Ich habe die neue Datei schon übernommen. Das zweite Posting antworte ich morgen.
Markus M. schrieb: > Die Gehäuse sind in einer anderen Tabelle, der SQL Befehl wäre > dieser:SELECT Handbuch, Handbuch AS Hnd FROM gehause WHERE NOT Handbuch > IS NULL > Nahezu jede Tabelle hat eine "Handbuch" Spalte. EleLa hat ca. 20 > Tabellen: > http://www.mmvisual.de/Hilfe/EleLa/TutorialDB/TutDB.htm Danke hierfür. Leider wird bei der Abfrage bei mir nichts angezeigt. Siehe Screenshot
Man kann auch diesen Befehl eingeben:
1 | SELECT Handbuch AS Hnd, * FROM gehause |
Dann sieht man alle Datensätze. Bzw. die Tabelle von Gehäuse/Lager:
1 | SELECT Handbuch, Handbuch AS Hnd FROM bauteillager WHERE NOT Handbuch IS NULL |
:
Bearbeitet durch User
Markus M. schrieb: > Bzw. die Tabelle von Gehäuse/Lager:SELECT Handbuch, Handbuch AS Hnd FROM > bauteillager WHERE NOT Handbuch IS NULL Das ist es genau. Jetzt habe ich schon deutlich mehr "fehlerhafte" Einträge. Siehe Screenshot \\homeserver\Dokumente\... soll eben durch \\192.168.1.100\Dokumente\... bzw. durch die Variable ($H) ersetzt werden.
Dies ist der SQL Befehl um das zu ändern:
1 | UPDATE bauteillager SET Handbuch = REPLACE(Handbuch, '\\\\homeserver\\Dokumente\\', '(\$H)\\') |
2 | WHERE NOT Handbuch IS NULL AND Handbuch LIKE '\\\\homeserver\\Dokumente\\%' |
1 | UPDATE bauteillager SET Handbuch = REPLACE(Handbuch, '\\\\192.168.1.100\\Dokumente\\', '(\$H)\\') |
2 | WHERE NOT Handbuch IS NULL AND Handbuch LIKE '\\\\192.168.1.100\\Dokumente\\%' |
Anschließend kann das Ergebnis mit dem SELECT SQL Befehl wieder überprüft werden:
1 | SELECT Handbuch, Handbuch AS Hnd FROM bauteillager WHERE NOT Handbuch IS NULL |
Mister A. schrieb: > *ganz dickes Lob* Dankeschön! > Leider hat jede Medaille auch eine Kehrseite. > Ich versuche es mal harmlos wie möglich darzustellen. EleLa ist zu großen Teilen so geworden wie es ist dank den vielen Vorschlägen von Usern. Ich habe immer ein offenes Ohr für Verbesserungen, bzw. schaue wie ich einen Wunsch in die bestehende Struktur hinein bekomme. > - Es ist kein Ersatz für zeitgemäße moderne Software. Viele logische > Schritte oder Haptik ist nicht vorhanden bzw. eine andere. Die > Einarbeitung ist sehr anstrengend (erinnert mich an EAGLE vs KiCAD). > Mächtig aber anspruchsvoll. Ja, es ist anders als viele andere Programme. Dennoch nach etwas Einarbeitung wird man feststellen dass man so ziemlich alles innerhalb weniger Klicks / Suchen findet. > - Teilweise keine Tastaturunterstützung, wo sie angebracht wäre (z.B. > beim diesen vertikalen Scrollisten (Bauteileliste) um wenigstens den > Anfangsbuchstaben zu tippen. Generell komplette Tastaturunterstützung > wäre sehr vorteilhaft. Um etwas schnell zu finden gibt es das Eingabefeld der "Schnellsuche", damit kann man zum Datensatz springen, oder bei Eingabe mit "*" wird gefiltert. > - Merkwürdige kleine Pufferprobleme und Schluckauf in Textfeldern. Beim > Markieren mit der Maus wird gerne der Zeilenanfang ignoriert, oder > Fokusierung des Mauszeigers (springt oft und gerne an das Zeilenende). > Den gleichen Fehler sah ich damals bei PartKeepr. Muss ich mir mal anschauen, das ist mir bisher noch nicht aufgefallen. Ich denke dass ich da nicht viel machen kann, das ist wohl abhängig vom Compiler > - Handbuch: für Datasheets und Anlagen keinen Upload. Wie arbeitet man > damit, etwa manuel ins Handbuchverzeichnis kopieren und im Programm > mühsam durchwühlen um es zu verlinken? Zu Erfindungen wie drop-in sag > ich mal gar nichts. Sieht jedenfalls nach fehlenden Grundeigenschaften > einer jeder Dokumentenverwaltung aus. Jein ... Es ist kein Part-DB, also muss man da auch kein Handbuch in einen Webserver hochladen. Vielmehr lädt man ein Handbuch von irgendwo her runter und speichert das in seinem eigenen Handbuch an geeigneter stelle ab. In EleLa ist es dann nur noch ein Link auf diese stelle, den man setzen muss. Da gibt es keinen Upload zum Datenblatt mehr. Drag&Drop von einer Datei in das Handbuch-Feld steht noch auf meiner ToDo-Liste, kommt mit der nächsten großen EleLa Version. > - Vorbelegte statische Ansicht der jeweiligen "ersten Seite". Im unteren > Daten/Tabellenbereich fehlen mir relevante Datenfelder (Spaltenauswahl > dazu ist eingeschränkt). Oder beim Anlegen eines Bauteils sind nicht > alle relevanten Felder an einer Stelle (ergo hinter mehreren > Tabs/Karten). Das ist Absicht. Man kann bei Rechts-Klick in den Tabellentitel alle Spalten Ein-/Ausblenden wie man mag. EleLa merkt sich die Konfiguration nach dem Beenden. Auch bei Bauteil ist die Unterteilung zwischen Bauteil und Gehäuse/Lager eine Hilfe, vor allem wenn man extrem viele Bauteile hat. Beispiel: Bauteil Eintrag: Bezeichnung: NE555 Gehäuse/Lager Eintag: 1) Bezeichnung: NE555P 2) Bezeichnung: NE555CP 3) Bezeichnung: SA555 Also der Typ "NE555" gibt es in diversen Variationen, Gehäuseformen, Temperaturbereiche usw. Damit wählt am in der ersten Ebene den unspezifizierten Typ aus, in der zweiten die Variante. > - Sync von gesplitteten/geteilten Fenstern. Das irritiert mich, die > obere und untere Bildschirmhälfte hat nicht die gleichen Daten in den > Feldern, des gleichen Bauteils. Anwenderfehler? Es sind ja auch andere Tabellenwerte, also es kann in EleLa deutlich mehr eingegeben werden als bei Part-DB. > - Rastermaß bei Footprints haben nur 2 Nachkommastellen und werden > automatisch auf/abgerundet. Ich glaube das betrifft auch die > Preisfelder. Es sind FLOAT Felder, nur die Darstellung ist begrenzt damit es sinnvoller aussieht. Preisfelder sind 4-Stellig mit der Formatierung "0.00##" angelegt, es wird die dritte/vierte Stelle nur bei Bedarf gezeigt. > - Datenabfrage Octopart. Das haut nicht hin. Der Browser dröhnt den > Benutzer mit Stundenlangen Captcha-Mosaikspielen. API-Key? Octopart habe ich noch nicht so richtig verstanden was ich da für einen HTTP Link aufrufen muss um die echten Infos zu sehen. Wenn ich etwas mehr Zeit haben und das nächste EleLa Release einigermaßen läuft kümmere ich mich um dieses B-Problem. > Das sind so die primären Sachen, die mir aufgefallen sind oder gestört > haben. Auch dürfen gerne die kleinen Sekundären Sachen geschrieben werden, Details verbessere ich auch gerne, bzw. meist sind es nur wenige Codezeilen mit viel Wirkung. > Die größten Bauchschmerzen die ich im Moment sehe, wie ich den > Datenbestand aus PartDB hineinimportiert bekomme. Es sind gut 5000 > Bauteile mit Datasheets und dazugehörigen Unterlagen, genaue > Lagerinformationen mit über 300 "Kisten", Bestell- und > Einkaufspositionen, Bauteilepreise (jedes von mind. 2 Lieferanten) und > dann noch die eigenen PCB Projeke. > Da fang ich nach 2 Jahren Mühe sicherlich nicht mit einer leeren > Datenbank an, die neu aufzubauen. Aktuell kann EleLa V3.1 noch nicht mehrere Lagerplätze je Teil verwalten, das kann EleLa erst ab V4. Der Rest sollte man mit relativ einfachen Kopierbefehlen (INSERT INTO <EleLaTabellen> ... SELECT xxx FROM <PartDB_Tabellen>) in die EleLa Tabellen bekommen. Dazu kann man sich die EleLa Tabellen in der gleichen Datenbank wie PartDB anlegen, denn die Tabellennamen sind ja unterschiedlich. Man muss die Datenstruktur verstehen, wie PartDB aufgebaut ist und EleLa. Bei EleLa ist die Datenbankstruktur in der Hilfe beschrieben. Hilfe > Diverse Infos > Aufbau Datenbankstruktur V3.0
Markus M. schrieb: > Dies ist der SQL Befehl um das zu ändern: > UPDATE bauteillager SET Handbuch = REPLACE(Handbuch, > '\\\\homeserver\\Dokumente\\', '(\$H)\\') > WHERE NOT Handbuch IS NULL AND Handbuch LIKE > '\\\\homeserver\\Dokumente\\%'UPDATE bauteillager SET Handbuch = > REPLACE(Handbuch, '\\\\192.168.1.100\\Dokumente\\', '(\$H)\\') > WHERE NOT Handbuch IS NULL AND Handbuch LIKE > '\\\\192.168.1.100\\Dokumente\\%' > Anschließend kann das Ergebnis mit dem SELECT SQL Befehl wieder > überprüft werden:SELECT Handbuch, Handbuch AS Hnd FROM bauteillager > WHERE NOT Handbuch IS NULL Danke hierfür. Hat zwar erst nicht geklappt (auch weil der integrierte "Datenbankkommunikator" in ELELA keine Statusmeldungen des MySQL Servers zurückgibt) und war erst mal Ratlos warum er nichts verändert. Habe dann direkt in der MySQL Workbench die Befehle ausgeführt. Als erstes musste ich noch "Safe Updates" deaktivieren (Error Code 1175), weil mit diesen ich sonst nichts an den Daten verändern hätte können. Zweitens hat er nie übereinstimmende Datensätze gefunden ("Rows Matched = 0"). Erst mit der doppelten Anzahl an Backslashes bei der "WHERE" Bedingung klappt das:
1 | SET SQL_SAFE_UPDATES=0; |
2 | UPDATE bauteillager SET Handbuch = REPLACE(Handbuch, '\\\\homeserver\\Dokumente\\', '(\$H)\\') |
3 | WHERE NOT Handbuch IS NULL AND Handbuch LIKE '\\\\\\\\homeserver\\\\Dokumente\\\\%' |
4 | SET SQL_SAFE_UPDATES=1; |
5 | SELECT Handbuch, Handbuch AS Hnd FROM bauteillager WHERE NOT Handbuch IS NULL; |
Jetzt ist alles so wie es sein soll. Danke nochmals für die Hife!
Hallo Markus, bei hohen Auflösungen (bei modernen Monitoren nicht unüblich) ist die Schrift schon etwas klein. Windows lässt daher eine Schrift-Vergrößerung zu (Einstellbar in den Einstellungen der Anzeige). Bei EleLa kommt es dabei leider zu Überlappung der GUI-Elemente (im Screenshot siehst Du das Problem bei 120%). Je nach Vergrößerungsfaktor, kann diese Überlappung mehr oder weniger stark ausfallen. Ich kann damit noch leben, aber schön ist es nicht. Vielleicht hast Du eventuell irgendwann mal Zeit um Dich damit zu befassen? LG. JK
Wenn alle Elemente vergrößert werden, schaut es besser aus, bisher ist mir nur ein verschobenes Label aufgefallen (Screenshot). LG. JK
Ab EleLa V3.1.20504 kann man einen Skalierungsfaktor für das Formular einstellen, bitte teste mal ob es klappt. In der Hilfe bei "Konfiguration Parameter" ist das ganze beschrieben. http://www.mmvisual.de/elela -> EleLa_V3.1 - Win64 - Hilfe
Hallo zusammen, Bug gefunden: In die beiden letzten Updates build 20423/20504 hat sich einen Syntaxfehler eingeschlichen. Es betrifft das Datenbankupdate für MySQL. Das von Sqlite funktioniert problemlos. Wie es aussieht, kann weder eine neue Tabellenstruktur (Datenbank) angelegt werden, noch eine vorhandene Datenbank mit v3.0 build 18B15 upgegraded werden. Hier die betroffene Stelle, ein logfile ist in der Anlage.
1 | 01:56:27 Create Table "bauteillager" |
2 | 01:56:27 En: (btnKonfigClick|TfrmKonfig.btnErzeugeDBClick)/( $00000000008DE78C) |
3 | 01:56:27 E: SQL Error: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'JSON, |
4 | Geloescht INTEGER, |
5 | AendDatum timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ' at line 36 |
Nach dem der Import in der v3.0 bischen broken ist, bekomme ich meine (mittlerweile aktualisierte auf build 20504) sq3 nicht ins MySQL transferiert. Downgrades sind ja nicht möglich. @Markus könntest du das Schemaupdate oder einen Fix posten? Danke. --- Während dem Einarbeiten in EleLa habe ich nebenbei etwas die (Übersetzungs-)Texte editiert. Es ist noch nicht durchgehend fertig, da alles on-the-fly und step-by-step passiert. Ein Kostprobe ist angehängt. --- Idee für ein neues Feature: Bauteile, ein neues Feld: Pinout Kontext: Freitext, Länge 2-5 Buchstaben/Zeichen Inhalt: exemplarisch BCE,CBE,GSD,DGS,IGO,IGOG,IOAO,IEGBO,AxC,AAC,+x- Dabei stehen die Buchstaben für Pin- oder Signalbezeichnungen, fortlaufend bis zur Anzahl der Pins des Bauteils. Die Anfangsbuchstaben stehen schlicht für Basis,Emitter,Collector,Gate,Source,Drain,Vin,Vout,Adjust,Enable,Bypass, Ref,GND,Anode,Cathode u.ä. Verwendung: Transistoren, MOSFETs, Dioden, Spannungsregler, Steckerbelegungen u.a. Minderpinanzahl-Bauteile. So ein Feature würde ungemein - die Suche nach pinkompatiblen Bauteilen, - Alternativen bei der Bestückung - oder während der Entwicklung das gezielte anpeilen des Lagerbestandes, erleichtern. Es hat den Flair einer simplen Parameterisierung zugleich auch eines Filters. Ich verwende es seit einiger Zeit und bekommen damit sehr schnell, effektiv und gezielt Bauteile trotz Freitextsuche gefiltert. --- Gruß, Mr.AtiX
Wegen 1) Nein, es ist kein Bug, es ist ein Feature ;-) Ab EleLa 3.1 wird ein Feld mit dem Typ JSON benötigt, wenn der Datenbank-Server das nicht kann ist er veraltet und muss erneuert werden. Hier in der Hilfe habe ich beschrieben welcher Mindest Stand verwendet werden sollte: http://www.mmvisual.de/Hilfe/EleLa/Install.htm Wenn man schon die Arbeit vom Update macht sollte man jedoch gleich die neueste stabile Version des SQL-Servers installieren. Es ist deshalb ein Feature, da in dem Update von 3.0 > 3.1 nur das eine JSON Feld angelegt wird und man sich die Datenbank nicht grundlegend zerschießt. Ich habe extra auf ein komplexes Update verzichtet. Das nächste Komplexe Update wird erst auf EleLa V4 kommen und diese Version setzt eine Datenbank von EleLa V3.1 voraus. Auch die "SQLite-DLL: 3.11.0" scheint mir ziemlich alt zu sein, kann man die DLL auch unter Linux updaten? Bzw. wenn man eine aktuellere SQLite SO in das EleLa Verzeichnis direkt rein kopiert erkannt das EleLa und verwendet diese, unabhängig davon was sonst noch im System rum liegt. 2) Vielen Dank! 3) Ja, das ist eine gute Idee. Ich empfehle Dir aktuell bei Gehäuse/Lager das Feld "Library" dazu zu verwenden. Den Text kann man umbenennen in "Pinout" und das Eingabefeld ist als Drop-Down Liste ausgeführt, das alle jemals eingegebene Pinout-Kombinationen in der Liste zeigt. Ich müsste dieses "Library" nur noch bei der "Suche-F5" mit suchen. Somit kann man das "Library" aus dem Bauteil nehmen oder aus Gehäuse/Lager, je nach dem was einem lieber ist. Ich empfehle das von Gehäuse/Lager, z.B. wegen dem Bauteil "BAS40", das gibt es je nach Zusatz in diversen Pinouts (BAS40-03, BAS40-04, BAS40-05). Alternative: Ab EleLa V3.1 bei den "Technischen Daten" ein Eintrag "Pinout" hinzufügen und da als Parameter den Text eingeben. Danach kann man heute schon gezielt bei der "Suche-F5" danach filtern.
:
Bearbeitet durch User
Hallo Markus, die neue Option zur Formular-Skalierung funktioniert nur bedingt. Ich musste die Einstellung 2x vornehmen: - Beim ersten Mal hat EleLa zwar bestätigt, dass ich die Einstellungen verändert habe und das Programm daher neu gestartet werden muss, nach dem Neustart war die Einstellung allerdings wieder bei 100%. - Beim 2. Mal hat es funktioniert. Eine Bestätigung nach dem Klick auf "Speichern" wäre nicht schlecht. So ist man sich beim Klick nicht ganz sicher ob der Button überhaupt eine Funktion hat... Und noch eine Kleinigkeit: Obwohl laut Log alles ok gelaufen ist, wird mir eine leere Datenbank präsentiert... Anscheinend zerschiesst EleLa die Konfigurationsdatei bei dieser Umstellung. Es wurde bei mir z.B. das Protokoll auf SQLite umgestellt. Nach der Speicherung der Konfiguration konnte ich sehen, dass die Konfigurationsblöcke anders angeordnet sind und der erste hat überhaupt keinen label (String in eckigen Klammern) mehr. Die Datei beginnt so:
1 | Protocol=mysql-5 |
2 | HostName=server-name |
3 | Port=33060 |
4 | Database=huhu |
5 | User=huhu |
6 | LibraryLocation= |
7 | |
8 | [DB_Properties] |
9 | MYSQL_SSL=TRUE |
10 | MYSQL_SSL_CA=.\ssl\ca-cert.pem |
Nach dem Start ist die Skalierung noch immer 100%. Wird diese geändert, repariert EleLa die Datei anscheinend stellt aber zumindest bei mir auf SQLite um... Ich versuche das noch besser einzugrenzen. LG. JK
:
Bearbeitet durch User
Hier die weiteren Erkenntnisse: Wenn das Programm (3.1.20505) nach dem Update erstmalig gestartet wird, dann macht EleLa anscheined folgendes: - UTF-8 Umstellung - Aktualisierung der Versionsnummer - Eintragung der neuen Variable "ScaleFormular=100" in Abschnitt [Programm] Weitere Programm-Starts ohne Veränderung der Optionen bewirken kein Update der Konfigurationsdatei. Nach der Umstellung der Skalierung auf 120% und Klick auf "Speichern" schreibt EleLa die Konfiguration neu: - "ScaleFormular=100" wird durch "ScaleFormular=120" ersetzt. - Einige Variablen, die vorher keinen Wert hatten, haben jetzt anscheinend ein nicht druckbares Zeichen als Wert? (->Screenshot 1). - Die Erste Zeile ist jetzt "gramm]" statt "[Programm]". Beim nächsten Start: - der gesamte Block der mit "gramm]" beginnt wird gelöscht. - am Ende der Konfigurationsdatei wird ein neuer Block "[Programm]" aber mit Defaultwerten (->Screenshot 2) angehängt. - ScaleFormular ist wieder 100. - Der Block [DB] ist jetzt bei mir der erste Block. Wenn ich jetzt das Programm starte, ScaleFormular anpasse und die Konfiguration schreibe: - Die erste Zeile, wo vorher "[DB]" stand ist jetzt leer und der erste Block (Datenbank-Konfiguration) hängt somit in der Luft. Beim nächsten Start entfernt EleLa die Datenbank-Konfiguration und hängt am Ende der Datei einen neuen [DB]-Block mit der Default-Konfiguration für SQLite an. Ich muss leider sagen, das schaut mir nach einem Bug aus... LG. JK
@Jaroslaw Der Bug ist nun beseitigt. -- Kanal EleLa-News mit mehr Details: https://t.me/elela_news EleLa-Chat für Fragen & Lösungen: https://t.me/mmvisual_elela
Hallo Markus, die neue Version scheint jetzt zu funktionieren. Sie fügt jetzt zusätzlich eine Kommentarzeile am Anfang der Datei ein. Sind die beiden Dateien mit polnischen Strings jetzt mit Absicht im EleLa Archiv enthalten? Und folgendes ist anscheinend noch zwischen den Bug-Beschreibungen untergegangen: Eine Bestätigung nach dem Klick auf "Speichern" wäre nicht schlecht. So ist man sich beim Klick nicht ganz sicher ob der Button überhaupt eine Funktion hat... Wenn Du keine neue MessageBox starten willst um den Status anzuzeigen, eine Statuszeile im Fenster mit der entsprechenden Message in dieser Statuszeile würde den Zweck auch erfüllen. Was meinst Du dazu? Vielen Dank! LG. JK
:
Bearbeitet durch User
Ja, die polnische Dateien sind nun absichtlich mit da, damit wenn man den Konfig-Dialog auf PL umschaltet, das es auch funktioniert. Wenn man ohnehin nicht auf PL umschalten möchte, kann man die Dateien weg lassen. Ist etwas schwierig, in dem Dialog werden zum Teil globale Einstellungen direkt in der Datenbank vorgenommen, die schon ohne "Speichern" geschrieben werden, so wie die Datensätze in EleLa auch. Das "Speichern" wirkt nur auf die INI Datei. Merke ich mir mal für Später vor...
:
Bearbeitet durch User
Markus M. schrieb: > Ja, die polnische Dateien sind nun absichtlich mit da, damit wenn man Ja, ich habe die Information im Telegramm leider erst später gesehen. > geschrieben werden, so wie die Datensätze in EleLa auch. Das "Speichern" > wirkt nur auf die INI Datei. Merke ich mir mal für Später vor... Ja, aber der Button „Speichern“ hat eine Funktion. Und diese läuft entweder mit oder ohne Fehler ab und das könntest Du ja nach der Durchführung ausgeben. Mein erster Eindruck nach dem Klick auf den Button war: es hat nicht funktioniert. Erst nach dem Klick auf „Schließen“ weiß man, dass doch etwas passiert ist, weil da die Information über den notwendigen Programm-Neustart ausgegeben wird. Ich bin überzeugt, dass es nicht nur mir so geht. LG. JK
Hallo zusammen, heute bin ich 2 große Szenarien durchgefahren. Eine davon ist als kommentiertes Log angehängt. Ergebnis: bin müde, sauer, und müde :) Gute Nacht.
Jaroslaw K. schrieb: > Ja, aber der Button „Speichern“ hat eine Funktion. Und diese läuft > entweder mit oder ohne Fehler ab und das könntest Du ja nach der > Durchführung ausgeben. Speichern bedeutet zunächst, gar nichts. Es wird nichts durchgeführt, eingelesen oder angewandt. Man könnte ja noch weiteres ändern und speichern. Es wird schlicht in die ini abgelegt. Nicht vergleichbar mit einem aktiven Element, z.B. Datensatz in der Datenbank. > Mein erster Eindruck nach dem Klick auf den Button war: es hat nicht > funktioniert. Erst nach dem Klick auf „Schließen“ weiß man, dass doch > etwas passiert ist, weil da die Information über den notwendigen > Programm-Neustart ausgegeben wird. Jaaa, die Haptik. Mal ist sie so, dann wieder anders. Aber das kommt von den vielen modernen Geräten, die uns verwöhnen. Damals gab es relativ einfaches und simples Spielzeug, die Jeder verstand. z.B. eine Motorsäge :) Heute werden die Dinger mit Li-Ion Akkus betrieben, haben bunte LEDs, schlechte OPVs mit Mini-Lautsprechern. Und vibrieren tun sie auch nicht :D > Ich bin überzeugt, dass es nicht nur mir so geht. Also ich hab da ganz andere, größere und komplexere, Probleme :) Kopf hoch, da müssen wir durch.
:
Bearbeitet durch User
Mister A. schrieb: > Ergebnis: bin müde, sauer, und müde :) Bei SQLite geht es, das ist gut so. Bei MariaDB nicht, da muss wohl durch das viele hin und her etwas durcheinander gekommen sein. Daher bei MariaDB die eine EleLa Datenbank nochmals löschen und von EleLa V3.1 neu erstellen lassen, das geht im Konfig Dialog under "Datenbanken". EleLa muss zu erst auf SQLite eingestellt sein, dann kann man den Konfig Dialog öffnen, dann da die Parameter der MariaDB Datenbank einstellen und mit "Erzeuge neue Datenbank" wird die Datenbank, incl aller Tabellen angelegt. Das einzige was man außerhalb von EleLa machen muss ist die Zugriffsrechte für den EleLa-User geben, so dass EleLa dazu die Rechte hat. Details dazu sind hier beschrieben: http://mmvisual.de/Hilfe/EleLa/TutorialMySQL/TutMySQL.htm Auch wie man die bestehende SQLite Daten dann importiert bekommt. Das Tutorial wurde erstellt um mit dem Tool HeidiSQL die Grundeinrichtung zu machen, man kann statt dessen auch einfach das "LAMPP" installieren, da ist dann ein Apache Server dabei und phpMyAdmin mit dem man dann den MariaDB SQL Server administrieren kann. (Für Windows gibt es das auch, heißt "XAMPP")
Wegen dem "Speichern" beim Konfigurationsdialog. Ich habe meine Aussage wohl nicht detailliert genug ausgeführt, eher zu allgemein, daher hier der Nachtrag. In der Regel werden alle Eingaben nur mit "Speichern" übernommen. Bei Extra Dialogen werden Parameter-Datensätze direkt bearbeitet, da gibt es dann auch eine "Neu" und "Speichern" Taste separat. So wie im Screenshot gezeigt. Leider hatte sich die letzen Wochen ein Bug wegen der INI Datei Konvertierung eingeschlichen ... nun ist er weg und das Speichern geht wieder richtig. In EleLa gibt es parameter, die wirken nur auf die lokale Instanz sowie Parameter die global für alle Arbeitsplätze gültig sind. Welche Parameter jeweils wo gespeichert werden ist hier beschrieben: http://mmvisual.de/Hilfe/EleLa/InstallParam.htm http://mmvisual.de/Hilfe/EleLa/InstallIni.htm Beispiel: Skalierung Formular wirkt nur auf den einen Arbeitsplatz, nicht für alle. Hingegen welche Bezeichner man als "Technische Daten" nutzen möchte, soll für alle Arbeitsplätze gleich sein, daher werden diese als Datenbank Parameter abgelegt. Auch gibt es Parameter die sowohl in der Datenbank als auch in der INI Datei abgelegt sind, um z.B. bei ISO9001 Aktivierung einen Admin-Arbeitsplatz deklarieren zu können.
Markus M. schrieb: > Bei MariaDB nicht, da muss wohl durch das viele hin und her etwas > durcheinander gekommen sein. CREATE ... IF NOT EXISTS Statements würden da helfen. > Daher bei MariaDB die eine EleLa Datenbank nochmals löschen und von > EleLa V3.1 neu erstellen lassen Ja, das rafft. Ich bin weitergekommen, anbei das heutige Tagebuch :) Sorry aber sqlite passt mir irgendwie gar nicht ins Konzept. Bei Mehrplatz ist es damit schon vorbei. Entweder Datenbank oder... Excelsheet.
Eine kleine Zwischenfrage an die Gemeinde, damit es nicht so öde wird... Es ist eine duale LED, Größe 0805 (2.0x1.25), footprint einer PLCC-4. Wie bezeichnet man fachmännisch dieses Gehäuse?
> CREATE ... IF NOT EXISTS Dies hat EleLa natürlich drin. Jedoch wenn eine Spalte in einer bestehenden Tabelle fehlt hilft das nicht. > bei einigen Pfaden kein abschließendes Slash auf. Das macht nichts. EleLa lässt alle Pfade durch eine Funktion der Pfadkorrektur durchlaufen. Somit werden relative Pfade auf absolute umgebogen und erkannte Environment-Variablen werden dann durch die Werte der Environment Umgebung ausgetauscht. Dabei erkennt EleLa automatisch die Syntax für Windows und Linux, egal auf welchem OS EleLa läuft. In "Extras-F10">"Log" werden bei den Parametern immer die vollen Pfade gezeigt, obwohl man in der INI nur relative Pfade drin stehen hat. Damit hat man eine echte Kontrolle darüber ob es passt was man da eingestellt hat. > 21:18:05 E: GUID fehlte: param.1 Das sollte eher als "W: GUID fehlte: param.1" deklariert werden, denn EleLa sagt damit dass es einen Datensatz gefunden hat wo noch keine GUID eingetragen war, bzw. beim Anlagen der Tabelle sollte EleLa gleich die GUID mit schreiben. Es ist deshalb eine "Warnung" da EleLa dies automatisch korrigiert. > 21:25:01 E: SQL Error: Data too long for column 'DE' at row 1 In der Tabelle "Translate" können nur Texte mit 255 Zeichen Länge je Feld aufgenommen werden. Ab EleLa V4.0 wird das dann anders sein, ich habe es da schon auf den Datentyp "Text" geändert. > 21:48:13 E: SQL Error: You have an error in your SQL syntax; ... Das schaue ich mir noch näher an, sollte nicht kommen. > Als nächstes habe ich mir die Datenbank angeschaut. Die sah gut aus. Ja, der Rest passt dann auch. "Translate" ist für die Nutzung nicht zwingend nötig. > Ein erneuter Import der Tabelle translate scheiterte Die eigene "Lang_DE.txt" Datei kann man auch per INI Datei einbinden, ohne Datenbank Import, damit gibt es die Beschränkung der 255 Zeichen nicht. > Wie bezeichnet man fachmännisch dieses Gehäuse? Am besten wie es im Datenblatt steht. Wenn da nur PLCC-4 steht und man da lieber LED Bilder hinterlegen möchte, dann könnte man ein z.B. PLCC-4-LED anlegen und die anderen Bilder einfügen. Falls der Hersteller eine "JEDEC" Bezeichnung angibt kann man das in das Feld "Normbez" eintragen. Den Herstellerspezifischen Code in "Herstellerbez". Und zu guter Letzt die Bezeichnung wie es im CAD heißt im Feld "Library".
:
Bearbeitet durch User
Markus M. schrieb: >> 21:48:13 E: SQL Error: You have an error in your SQL syntax; ... > Das schaue ich mir noch näher an, sollte nicht kommen. Dieser Fehler trat auf weil deine Datenbank noch recht leer ist, nun ist der Bug mit EleLa V3.1.20508 behoben. Vielen Dank für das Mitteilen der Fehler. Mit leerer Datenbank arbeite ich in der Regel nicht ;-)
:
Bearbeitet durch User
Ein kleines Update zum Linux-Multifunktionsinstaller. - Es wurden kleinere Typos und Syntaxfehler beseitigt. - Die einzelnen Abschnitte nach einem logischen Ablauf neu geordnet. - Der neue Updater wurde an EleLa herangeführt, welches nun die primäre Variante ist. Er bedient sich aus dem bestehenden Elela-Downloadverzeichnis (./Temp/). - Die anderen Varianten sind selbstverständlich noch funktional. - Es ist nun ein interaktiver statt stillschweigender Installer. - Er besitzt einige Routinen um kleine Leichtsinns-Fehler oder Situationen abzufangen. Deshalb wächst er. Den neuen Updater-Abschnitt habe ich eben fertiggeschrieben und noch nicht live getestet. Er ist zunächst für Linux x86/x64 ausgelegt. Für Raspi müssen noch einige Zeilen dazu. Hat primär nur was mit der Dateinamenskonvention zu tun. Ein Raspi steht mir gerade zum testen nicht z.V. - Solltet ihr lieber einen stillschweigenden und vollautomatischen Installer/Updater wie den v0.1 bevorzugen, gebt mir Bescheid. Er wird extrem klein. - Auch auseinandergerissene kleine Einzelscripte sind möglich. - Demnächst ist eine Übergabe mit Parametern/Argumenten geplant. - Abgebrochene oder Fehlerbedingte Wiederaufnahme soll ebenfalls kommen. --- Markus, siehst du eine Möglichkeit in EleLa (ohne viel Aufwand) unter einer Funktionstaste/Button den exec eines benutzerdefiniertes Script ausführen zu lassen? So dass ein User z.B. sein Backupscript oder was auch immer starten könnte. Eine gute Stelle wäre vielleicht das Fenster Versionsprüfung/Download. Die Hinterlegung des Pfades zum Script z.B. in der ini. Sollte mal was knallen, dass man es wieder deaktivieren kann. Wünsche euch viel Spaß und gutes Gelingen
Der Updater ist fertig... Die Zerlegung des Dateinames fällt schon unter die Kategorie Bash-Vergewaltigung, bitte nicht weitersagen :) So, jetzt konzertriere ich mich wieder auf das Programm. Also ganz normaler Anwender.
Mister A. schrieb: > Markus, siehst du eine Möglichkeit in EleLa (ohne viel Aufwand) unter > einer Funktionstaste/Button den exec eines benutzerdefiniertes Script > ausführen zu lassen? > So dass ein User z.B. sein Backupscript oder was auch immer starten > könnte. Das braucht man eigentlich nicht, das geht anders herum. Im OS gibt es immer irgend einen "Task-Planer" dem kann man parametrieren welches Programm oder Script man zu welchem Zeitpunkt ausgeführt haben mag. Das gibt es für Windows und Linux in jedem Fall. Entweder man sichert die Datenbank per Script und SQL Befehle, Beispiel hier, bei einer Synology Discstation: http://www.mmvisual.de/Hilfe/EleLa/TutorialMySQL/SynoBackup.htm Oder man überlässt das Sichern der Datenbank EleLa automatisch indem man EleLa per Task-Planer mit dem Parameter "--backup" startet, sie hier im Abschnitt "Kommandozeilenparameter": http://www.mmvisual.de/Hilfe/EleLa/Install.htm Damit geschieht der Backup im Server automatisiert. Sollte man ein Einplatz-System haben, so kann man ein Backup bei jedem Systemstart im "AutoRun" einbauen. Vielen Dank für das Update der Scripts!
:
Bearbeitet durch User
Markus M. schrieb: > Das braucht man eigentlich nicht, das geht anders herum. Geschieht mit Recht, wenn ich so doof frage :) Klar, die Datenbank ist separiert. Und die Dateien liegen auch nur als Pilze im Wald, ähm auf der Platte :) Ich dachte, als User, da tu ich so ein Script rein, das macht dann Update oder ganz was anderes. Meinetwegen einen Popup beim Chef "EleLa wurde geöffnet, schließe deinen Browser, damit Leute arbeiten können. PS: ja, auch das ist nicht nötig, dafür kann man sich eine .bat schreiben.
:
Bearbeitet durch User
Hallo zusammen, ich bin dabei ein vorhandenes Projekt, mit mehreren Revisionen, von Grund auf anzulegen, einzupflegen, zu dokumentieren. Zum besseren Verständnis und der Unterscheidung, verwende ich einfach mal folgende Bezeichnungen: - Meta-Bauteil, ein Bauteil in der 1. Ebene (Bez: Transistor NPN BJT) - Bauteil, ein eindeutig definiertes Bauteil der 2. Ebene (Bez: BC337-25, BC547C) - Baugruppe, ein Breakout oder Modul (Bez: ESP-12, ACS712, BME280) - Schaltung, eine erweiterte Baugruppe, als eigenständiges Modul (Bez: ESPxx Dev Board, FTDI-Modul, TP4056-Charger, Balancer) - Projekt, die komplette Steuerung, ein fertiges Device (Bez: Zirkus Colorado Entertainer) Dabei ergeben sich einige Fragen. Im allgemeinen betrifft es die Organisation, ungefähr im folgendem Ablauf: Kann man Bauteile in ein anderes Meta-Bauteil oder umgekehrt verschieben. Kann ein Bauteil mit einem anderen verknüpft, verlinkt oder anderweitig ein Bezug hergestellt werden? Wie legt man Meta-Bauteile am sinnvollsten an? Gruppierung nach der Belegung (Pinout), der Bauform (Gehäuse), Anzahl der Elemente, oder einer Serie (unterschiedliche Features/Parametrie). Stichwort Operationsverstärker oder ein Schaltregler. Wie handhabt man Baugruppen? Also zusammengeschlossene Einheiten (welche aus mehreren Einzeilbauteilen der 1./2. Ebene bestehen). Ein Breakout, noch kein komplettes eigenständiges Modul. Auch hier das Stichwort Bezug zum nativen Bauteil der 2. Ebene. Wie handhabt man Schaltungen und Module, also Baugruppen welche aus Bauteilen der 1./2. Ebene und/oder Baugruppen bestehen? Sind das schon Projekte oder gibt es etwas dazwischen? Wie geht man bei Schaltungen vor, wenn sie unterschiedliche Komponenten beinhalten. z.B. durch Bestückungsvarianten ergeben sich unterschiedliche Features, jedoch nicht die gleichen. Ich denke dabei nicht an fertige Module, eher an die selbst gebauten. Wie geht man mit Folgerevisionen von Schaltungen und Projekten um? Sicher gibt es in der Gestaltungsvielfalt zahlreiche Möglichkeiten, wahrscheinlich auch kein richtig oder falsch. EleLa ist etwas anders gestrickt, ich möchte nur Anfangsfehler in der späteren Gesamtstruktur vermeiden. Mir ist bewusst, Markus hat sich sehr viel Mühe gegeben und ein Handbuch verfasst. Ich habe es nicht komplett gelesen, es juckt in den Fingern praktisch herumzuklicken :) Daher würden mich euere Erfahrungwerte und Vorgänge im Handling interessieren.
Ich die Frage(n) betreffen 2 Teile von EleLa. Einmal die Bauteilverwaltung / Organisation zum zweiten das Projekt. Wenn man ein neues Bauteil hat so ordnet man es zu erst in eine Typ Gruppierung. Die Typen kann man im Baum bei "Typ-F8" anlegen/bearbeiten. Das ist eine grundlegende Struktur wie man Bauteile vor sortiert. Bei mir gibt es bei "Transistor" den Untereintrag "PNP". Alle Bauteile z.B. BC337, BC557 wenden unter "Bauteile-F2" diesem Typ zugeordnet. Beim Bauteil "BC337" wird dann der Lager/Gehäuse Eintrag mit der exakten Bezeichnung, z.B. "BC337A", "BC337B" usw. angelegt. Wenn man das so sortiert kann man ein Bauteil unter "Typ-F8" sehr einfach finden. Eine Baugruppe, das man kauft oder selbst aus einem Projekt produziert, ist wiederum ein Bauteil, das man unter "Bauteil-F2" anlegt und kann man wiederum für ein anders Projekt verwenden. Wenn ein Bauteil z.B. "R101" für eine Variante einen anderen Wert hat als für eine andere Bestückungsvariate, so legt man das gleiche Bauteil doppelt an, mit der anderen Varianten-Bezeichnung. Wenn ein Projekt fertig gestellt ist, so kann man es "Versionieren", also den Stand einfrieren. Das macht man in der Regel dann wenn man eine Platine (oder ein Prototyp) fertig bestückt und aufgebaut hat. Damit ist der aktuelle Aufbau dokumentiert. Damit sind die Änderungen gesperrt. Nun wird die Platine in Betrieb genommen und man stellt bei dem ein oder anderen Bauteil fest dass da doch ein anderer Wert besser wäre, also ist eine Revision nötig, dazu muss man das Projekt für Änderungen wieder frei schalten und kann dann das/die Bauteile ändern. Damit kann man nachvollziehen was der Stand bei er ursprünglichen Bestückung war (z.B. bestellte Platinen vom Bestücker) und welche Änderungen diese Platine erfahren hat, daraus kann man wiederum sehen welche Teile bei der nächsten Bestückung dann insbesondere geändert/kontrolliert werden müssen.
Hallo zusammen in Kurzfassung: EleLa ist sehr mächtig aber auch sehr eigenartig. Bis zur nächsten Stable/Minor Version bin ich vorerst raus. Vielen Dank für die Unterstützung. Gruß --- In der Langfassung, weitere wichtige/unwichtige Punkte: - Generalfehler "das große Eingabefeld" treibt einen in den Wahnsinn. Das Positionieren des Mauszeigers/Cursors ist fehlerhaft und extrem nervig. Detailierter Ablauf: Anfangs befindet man sich immer in einem Datensatz. Die Selektion wird anhand des typischen Zeigerdreiecks in der Tabelle unterhalb gekennzeichnet. Kennt jeder... Klickt man mit der Maus in das große Beschreibungsfeld, an irgendeine Position innerhalb des Textes, wird der Cursor dorthin nur pseudo plaziert. Der erste Tastendruck sorgt dafür, dass der eingetippte Buchstabe an das Textende angehängt wird. Dann springt der Cursor an den Textanfang und fügt den zweiten Buchstaben ein. In der unteren Datenzeile kann man beobachten, wie daraufhin die Selektierung aufgehoben wird (das Dreieck verschwindet). Erst nach einem erneuten Mauszeiger-Fokus, wird die Eingabe an der richtigen Stelle verarbeitet. Bei copy/paste/cut von Inhalten gibt es ähnliche Störungen. Das beschriebene herumhüpfen an Ende/Anfang ist das gleiche. Der daraus zusammengemüllte Inhalt ist ein Hingucker. Ein Ctrl-Z könnte das ganze rückgängig machen, wäre er nur verfügbar. Achja, wenn das Feld leer ist, dann wird die erste Tastenkombination einfach verschluckt. Erst der zweite greift. Dieser Zustand ist nicht tragbar. Ich weis nicht, was an diesem Feld so besonders ist, jedenfalls scheint dort ein gewaltiger Fehler sein Unwesen zu treiben. Wie bereits früher erwähnt, gleichen Fehler hat auch PartKeepr, was damals zum sofortigen Aussortieren führte. Nach dem so ein unikater Fehler nicht jeden Tag auftritt, hat einer vom anderen abgeschrieben :) - Der zweite Riesenknaller ist die "Scroll-Liste", welche an verschiedenen Stellen zu finden ist. z.B. als Feld Gehäuse in Bauteilen, Feld Bauteil in Projektpositionen und vielen anderen ... Bereits bei <100 Listeneinträgen ist das so nicht mehr handbar. Man klickt hinein und schaut beim scrollen zu.. Nach gefühlen 15 Sekunden kommt man endlich zum Buchstaben S, welchen man so ersehnlich sucht um ein gewünschtes SOT-23 anzuklicken. Was soll das bitteschön? Da gehört ein normales Feld hin, beim Tippen fängt ein Filter an die Liste zu kürzen. Wer die Scrolldingsliste mag, kann sie rechts anklicken, aufklappen und animiert zuschauen. Oder wenigstens das Anspringen zu einem Anfangsbuchstaben ermöglichen. Oder noch noch noch einfacher, seitlich einen gewöhnlichen Scrollbalken platzieren. Neues aus den Erkenntnissen zu Projekt anlegen... - Projekte, Positionen, Import/Export, Schnelleingabe: könnte es sein, dass hier nur ein einmaliger Durchlauf möglich ist? Damit konnte ich zunächst einige (vorhandene) Bauteile zusammentragen, mit Hinzufügen habe ich sie übernommen. Das hat hervorragend funktioniert. Nun wechselte ich zu den Bauteilen, um fehlende anzulegen.. Nach der Rückkehr war ein weiterer Durchlauf nicht mehr möglich. Das Feld Typ behielt stur die letzte Kategorie/den Typen. Es war weder möglich etwas anderes zu wählen, noch das Feld zu bereinigen. - Schnelleingabe b): Wäre es möglich, die Schnelleingabe mit einer Direkteingabe (im rechter Teil) auszustatten? - Projekte, Positionen, Positionsliste, Zeile aktualisieren: (global) geänderte Daten an einem Bauteil werden hier nicht eingelesen oder übernommen. - Projekte, Positionen, Detailfenster, Feld Variante: Wo ist der Sinn dieses Feldes? Logischerweise würde man hier zu THT oder SMT pledieren. Was sich jedoch widerspricht, da einerseits im nächsten Feld das Bauteil schon explizit (inkl. des Gehäuse/Bauform/Variante) gewählt und fixiert wird. Anderseits auch noch das Hächcken SMD besteht. Oder ist unter dem Begriff Variante etwas anderes gemeint? - Projekte, Positionen, Positionsliste, Spalte Kennz: die habe ich wo anders auch schon registriert, aber nirgends ein passendes Feld dafür/davon entdeckt. Ich weis nicht wofür die vorgesehen ist, scheint aber nur bei einem Import mit fortlaufenden Nummer gefüllt zu werden. - Lässt sich das Popup-Fenster Bildansicht irgendwie separieren, damit es offen bleibt und EleLa nicht gesperrt wird? Wäre sehr hilfreich z.B. während dem Betrachten eines Schematics/Boards und der weiteren Nutzung innerhalb EleLa. - eine Kleinigkeit noch gefunden, integrierte Versionsprüfung, die scheint sich an der Stable festgebissen zu haben. Neue unstable-Downloads tauchen hier nicht auf. P.S.: hierfür habe ich den installer massiv erweitert, damit er eben ein Update automatisch verarbeiten und durchführen kann. Vorerst werde ich eine Pause machen, es gibt leider viel zu viele Sachen die mir "nicht schmecken". Vielen Dank.
:
Bearbeitet durch User
Mister A. schrieb: > - Generalfehler "das große Eingabefeld" treibt einen in den Wahnsinn. Mir ist das noch nie aufgefallen, ich arbeite nie mit der Linux-Version, ich übersetze EleLa nur in einer VBox mit Linux. Nun habe ich doch mal die Linux EXE aktiviert, ja unter Linux ist das sehr eigenartig. > - Der zweite Riesenknaller ist die "Scroll-Liste", welche an Auch so ein "Linux"-Feature, unter Windows kann man den ersten Buchstabe tippen, dann springt die Scroll-Leiste da hin wie erwartet. Mal schauen ob ich da was in der Lazarus-Gemeinde erreichen kann (Bugfixing), das kann jedoch ein paar Monate dauern. > Neues aus den Erkenntnissen zu Projekt anlegen... > - Projekte, Positionen, Import/Export, Schnelleingabe: könnte es sein, > dass hier nur ein einmaliger Durchlauf möglich ist? Die Schnelleingabe aktualisiert in der Tat das Auswahl-Dropdown nicht wenn zwischenzeitlich neue Teile angelegt wurden, korrigiere ich. > - Schnelleingabe b): Wäre es möglich, die Schnelleingabe mit einer > Direkteingabe (im rechter Teil) auszustatten? Bei Direkteingabe braucht man die "Schnelleingabe" nicht, das geht schneller in der Eingabemaske bei "Bauteil", die kleine Taste "Auswahl Bauteil". Da öffnet auch ein Filter-Dialog wo man irgend einen Text eingeben kann. > - Projekte, Positionen, Positionsliste, Zeile aktualisieren: (global) Dieses aktualisieren aktualisiert nur die verknüpften Felder oder, falls ein anderer User an EleLa arbeitet, so kann man in seiner Ansicht die Änderungen des Kollegen aktualisieren. Funktioniert auch. > - Projekte, Positionen, Detailfenster, Feld Variante: Wo ist der Sinn > dieses Feldes? Hier kann man die Bestückungs-Variante deklarieren, z.B. "Analogeingang 2 bauteile". Wenn man eine Platine hat, wo man mehrere Variationen der Bestückung auswählen kann. > - Projekte, Positionen, Positionsliste, Spalte Kennz Kennz ist ein Zahlen-Feld, das zur freien Verwendung steht. Damit kann man einen Datensatz kennzeichnen um z.B. eine Bearbeitung nicht zu vergessen. Also normalerweise braucht man es nicht, dennoch ist es ein Feld wo man was rein schreiben könnte, sozusagen Reserve für Spezialfälle. > - Lässt sich das Popup-Fenster Bildansicht irgendwie separieren, damit > es offen bleibt und EleLa nicht gesperrt wird? Theoretisch ja. Praktisch muss ich mir überlegen was es für Seiteneffekte hat. > - eine Kleinigkeit noch gefunden, integrierte Versionsprüfung, die > scheint sich an der Stable festgebissen zu haben. Das ist Absicht. Ich will die User von EleLa nicht mit unnötigen vielen "Update" Nachrichten nerven. Wer auf dem neuesten sein mag kann sich entweder hier im Forum die Benachrichtigung aktivieren oder an meinem Telegram Kanal sich anmelden, dann bekommt er alle Infos zu den Neuerungen und Updates automatisch zugestellt. Beim Forum bekommt man eine Mail bei jedem Posting, im Kanal nur wenn ich was Neues schreibe. > P.S.: hierfür habe ich den Installer massiv erweitert, damit er eben ein > Update automatisch verarbeiten und durchführen kann. Dankeschön! > Vorerst werde ich eine Pause machen, es gibt leider viel zu viele Sachen > die mir "nicht schmecken". > Vielen Dank. Kein Problem. Es gibt auf der Welt eine Riesige Auswahl an Programmen, es ist zum Teil echt schwer was zu finden, was einem persönlich gefällt. Mir geht es ebenfalls regelmäßig so. Vielen Dank für das ausführliche und gute Beschreiben der Punkte!
@Mister A. (mratix) Nun kann unter Gehäuse/Lager ein Dialog zur Auswahl vom Gehäuse geöffnet werden, siehe Screenshot. Wegen dem Bug beim Memo-Feld dass der Cursor so verspringt: https://www.lazarusforum.de/viewtopic.php?p=114622#p114622 Grob die Antwort: QT5 als Widegetset verwenden (nicht GTK3). Ich bin noch dran...
:
Bearbeitet durch User
Markus M. schrieb: [...] > Wegen dem Bug beim Memo-Feld dass der Cursor so verspringt: > https://www.lazarusforum.de/viewtopic.php?p=114622#p114622 > Grob die Antwort: QT5 als Widegetset verwenden (nicht GTK3). Du kannst ja mal eine QT5 Version bauen (libqt5pas-dev installieren auf deinem Build-Rechner) und hier zum Testen einstellen. Wie und wo du LCLWidgetSet setzen mußt in Lazarus, weisst du vermutlich besser als ich. Gruß, f
:
Bearbeitet durch User
Markus M. schrieb: > Nun kann unter Gehäuse/Lager ein Dialog zur Auswahl vom Gehäuse geöffnet > werden, siehe Screenshot. Danke dir. Markus M. schrieb: > Grob die Antwort: QT5 als Widegetset verwenden (nicht GTK3). Autsch. Frank L. schrieb: > eine QT5 Version bauen Testen tun wir alles... Aber, ist denn GTK schon tot? Den Compilerdurchlauf für die x86 könnte man sich sparen. Die 32-bit wäre länger tot, töter :) Außer für RasPi, die fährt immer noch 32-bit.
:
Bearbeitet durch User
Guten Abend Markus, ich habe gerade versucht mit der aktuellen Version die Datenbank zu sichern:
1 | 23:40:56 E: SQL Error: constraint failed (mnDBExportClick|TfrmImportExport.btnExportClick|Tbl: tree_typ)/( $000000010005E0F2) |
Tritt das nur bei mir auf? LG. JK
1 | mratix@crodevo:~$ qtchooser -l |
2 | 4
|
3 | 5
|
4 | default
|
5 | qt4-x86_64-linux-gnu |
6 | qt4
|
7 | qt5-x86_64-linux-gnu |
8 | qt5
|
Besagt dass die Qt4+5 Unterstützung vorhanden ist. Qtconfig meldet zudem, aktiv die 4.8.7. Und EAGLE z.B. läuft auch unter Qt. Also unter Qt4.
1 | mratix@crodevo:~$ qtchooser --help |
2 | Usage: |
3 | qtchooser { -l | -list-versions | -print-env } |
4 | qtchooser -install [-f] [-local] <name> <path-to-qmake> |
5 | qtchooser -run-tool=<tool name> [-qt=<Qt version>] [program arguments] |
6 | <executable name> [-qt=<Qt version>] [program arguments] |
7 | |
8 | Environment variables accepted: |
9 | QTCHOOSER_RUNTOOL name of the tool to be run (same as the -run-tool argument) |
10 | QT_SELECT version of Qt to be run (same as the -qt argument) |
Mit dem qtchooser könnte man demnach eine Anwendung auch mit einer anderen Version starten. Irgendwie stehe ich gerade auf dem Schlauch. Kennt sich jemand hiermit etwas aus?
Jaroslaw K. schrieb: > ich habe gerade versucht mit der aktuellen Version die Datenbank zu > sichern: Warum nimmst du nicht einen Sqlite-Manager? Oder kopierst einfach die (geschlossene) Datenbankdatei.
@Jaroslaw Ich nutze ebenfalls diese Version, bei mir klappt der Backup. Ich vermute da muss ein fehlerhafter Eintrag in der Tabelle "tree_typ" sein. Kannst Du einmal ein Backup ohne die Tabelle "tree_typ" ausführen? Und dann einmal nur die "tree_typ"? Ansonsten kann EleLa ab V3.1 die Datenbank bereinigen, siehe Screenshot. Damit werden ID-Verweise von gelöschten Datensätzen auf NULL korrigiert.
@ Mister A. QT geht mit EleLa aktuell nicht, ich habe dafür bisher keine Dateien/Quellen mit eingebunden. EleLa kann nur GTK, so viel ich weis. Und Jaroslaw nutzt kein SQLite, denn damit geht dieser Dialog nicht auf.
Markus M. schrieb: > @ Mister A. > QT geht mit EleLa aktuell nicht, ich habe dafür bisher keine > Dateien/Quellen mit eingebunden. EleLa kann nur GTK, so viel ich weis. Ahhh, OK. Dann passt ja alles. > Und Jaroslaw nutzt kein SQLite, denn damit geht dieser Dialog nicht auf. Stimmt, habe es spät erkannt. Dann eben mit mysqldump oder grafisch mit phpMyAdmin.
Mister A. schrieb: > Warum nimmst du nicht einen Sqlite-Manager? Oder kopierst einfach die > (geschlossene) Datenbankdatei. Ja, ich kann es auch direkt am Server sichern, aber ich denke dass Markus am Feedback interessiert ist. LG. JK
Markus M. schrieb: > Ansonsten kann EleLa ab V3.1 die Datenbank bereinigen, siehe Screenshot. > Damit werden ID-Verweise von gelöschten Datensätzen auf NULL korrigiert. Ja, habe ich ausprobiert. EleLa meint, dass alles ok ist und es funktioniert auch außer dem Export alles soweit ich das in so kurzer Zeit bewerten kann. Allerdings vermute ich, dass ich trotzdem ein mySQL Problem habe. Der Export bricht jetzt jedes mal bei der Tabelle "foto" mit dieser Fehlermeldung ab:
1 | 00:18:40 E: Cannot retrieve Resultset data (mnDBExportClick|TfrmImportExport.btnExportClick|Tbl: foto)/( $000000010005F142) |
Allerdings scheitert auch mysqldump, und zwar immer in der gleichen Zeile:
1 | mysqldump: Error 2013: Lost connection to MySQL server during query when dumping table `foto` at row: 4128 |
Ich muss mir das morgen genauer ansehen... Vielen Dank! LG. JK
In der INI von MySQL gibt es diverse Timeout-Parameter die man hoch setzen kann. Wenn das Problem dennoch bestehen bleibt und es die Daten sind und nicht ein Timeout, dann kann ich die Daten mir mal anschauen. Jedoch der mysqldump sollte schon durchlaufen, das hat ja nichts mit EleLa zu tun. Der Dump ist ja dafür das alles relativ "nackt" zu sichern.
Markus M. schrieb: > Der Dump ist ja dafür das alles relativ "nackt" zu > sichern. Das ist mir klar. Das Backup mit mysqldump ist zuletzt am 12.05.2020 beim letzten Versions-Wechsel noch einwandfrei gelaufen und ich habe seit damals am Server nichts geändert. AutoUpdates sind auch keine eingerichtet. Dass alles trotzdem auf den mySQL Server hindeutet, ist mir klar. Alles was ich bis jetzt im Internet zum "mysqldump: Error 2013" gefunden hat das Problem nicht behoben. Der sqlcheck findet allerdings keine Fehler in der Tabelle, also liegt es anscheinend nur am mysqldump:
1 | # mysqlcheck -c elela foto -u root -p |
2 | Enter password: |
3 | elela.foto OK |
4 | # |
LG. JK
EleLa Version hat schon sehr lange die Datenbank nicht mehr geändert, die DB hat diese Version (Log von EleLa): 08:32:44 Database Version: V3.1.18B30 => Datum 2018.11.30 Daher kann das vom neuen "Frontend" EleLa nicht kommen. Erst ab EleLa V4 wird EleLa die Datenbankstruktur wieder anpassen. Versuche einmal mit dem Tool "phpMyAdmin" oder "HeidiSQL" ein SQL Dump zu erzeugen, vielleicht sagen diese noch einen anderen Fehler. Jaroslaw K. schrieb: > und ich habe seit damals am Server nichts geändert. Ich denke schon dass sich seither was geändert hat ... es gibt sicher viel mehr Daten in der Datenbank, das ist zwar das einzige, könnte jedoch Auswirkungen auf die Dauer der Sicherung haben -> Timeout Fehler. Die Timeout Zeiten sind bei MySQL leider etwas "knapp" bemessen, siehe auch hier: Beitrag "Re: EleLa - Elektronik Lagerverwaltung V3.1"
Ich kann mir ehrlich gesagt nicht vorstellen dass ein fehlerhafter Datensatz das ganze derart zum Abriss bringt. MySQL hat eine ordentliche Konsistenz und kann mit derartigen Fällen gut umgehen. Bei MariaDB bin ich mir mittlerweile nicht mehr so sicher. Das hat bei mir enormen Schaden an den Datenbanken produziert. MySQL 8.0 (obwohl relativ frisch) läuft wirklich sehr gut. Jaroslaw, dein Server läuft nicht zufällig auf einem RasPi mit SDcard? Oder in einer Sandbox wie Ampache (hieß die so?). Oder ist es einfach nur eine instabile Wifi-Verbindung? Jaroslaw K. schrieb: > table `foto` at row: 4128 Lösch' doch mal den einen Datensatz und schau was dann passiert.
:
Bearbeitet durch User
Mister A. schrieb: > Jaroslaw, dein Server läuft nicht zufällig auf einem RasPi mit SDcard? Raspi 4 (4GB) mit SSD, aber wie gesagt, die Datenbank scheint ok zu sein. Die Schwächen der SD-Karten sind mir bekannt. > Oder in einer Sandbox wie Ampache (hieß die so?). Nein, keine Sandbox, kein Docker. > Oder ist es einfach nur eine instabile Wifi-Verbindung? Nein. Gigabit-Kabel (auch wenn er es nicht ganz schafft). Wifi und BT habe ich durch Einträge in "raspi-blacklist.conf" deaktiviert, weil ich es nicht brauche. Die Wifi- und BT-Hardware lässt sich leider ohne Lötstation nicht deaktivieren. Allerdings entfällt die Netzwerkverbindung, wenn ich mysqldump direkt am Server starte und nur auf lokalen Dateisystemen schreibe bzw. von denen lese. Wenn er in diesem Fall Netzwerk statt Socket nimmt, dann ist ohnehin keine echte Netzwerkschnittstelle in Verwendung. > Lösch' doch mal den einen Datensatz und schau was dann passiert. Darüber habe ich schon nachgedacht, allerdings sagt er, dass er beim Row 4128 aussteigt, aber er sagt sonst nichts. Hilfreicher wäre zb. der primäre Schlüssel. Das muss ich mir zuerst noch genauer ansehen um den Satz eindeutig zu identifizieren. LG. JK
Mister A. schrieb: > Lösch' doch mal den einen Datensatz und schau was dann passiert. Das ganze ist sehr eigenartig. Ich habe jetzt die Sätze aus der Tabelle "foto" ermittelt, die seit dem letzten Backup dazu gekommen sind (25 Fotos). Alle diese Fotos kann EleLa ganz normal anzeigen. LG. JK
Kannst Du mit der Backup-Funktion nur die Tabelle "Foto" sichern? Kannst Du EleLa für den RaspberryPi auf dem Raspi starten und damit ein Backup durchführen? Ich habe eine Synology Discstation, da läuft MariaDB 10.3 drauf, diese habe ich schon 7 Jahre 24/7 am laufen, ohne Probleme. Davor hatte ich mir einen Server selbst zusammen gestellt -> nach 2 Jahre HW-Probleme (obwohl ich dachte alle Komponenten sind in guter Qualität). Es ist jetzt keine Werbung, nur ein Erfahrungsbericht. Mit auf der DS läuft ein SVN Server für Quellcodeverwaltung. Die von Mister gezeigten Probleme mit der MariaDB Datenbank kann ich nicht bestätigen, da meine schon eine gefühlte Ewigkeit funktioniert. Meine DS hat Server-Festplatten drin, die doppelt so teuer waren als die Desktop-Platten, und noch kein einziger Ausfall. Das Teil hat eine ganze Stange Geld gekostet ... nach so vielen Jahren und so wenigen Problemen (einfache Administration) kann ich dies jedem empfehlen. Vor allem als Firma, wenn man da 20..30 Stunden arbeitszeit spart, dann ist die DS schon billiger als alles was man selbst zusammenstellt.
Jaroslaw K. schrieb: > Das muss ich mir zuerst noch genauer ansehen um den > Satz eindeutig zu identifizieren. Ja ist schon doof, die Zeilennummer statt ID auszugeben Die einzelne numerische Zeile 4128 wäre:
1 | SELECT * FROM `foto` LIMIT 4128, 1; |
zum löschen DELETE statt SELECT. Nachtrag: oups, war zu langsam
:
Bearbeitet durch User
Jaroslaw K. schrieb: > Allerdings entfällt die Netzwerkverbindung, wenn ich mysqldump direkt am > Server starte und nur auf lokalen Dateisystemen schreibe bzw. von denen > lese. Wenn er in diesem Fall Netzwerk statt Socket nimmt, dann ist > ohnehin keine echte Netzwerkschnittstelle in Verwendung. Bitte was? Entweder Socket oder TCP. Egal ob lokal oder per LAN. Socket sollte man bevorzugen. Markus M. schrieb: > Kannst Du EleLa für den RaspberryPi auf dem Raspi starten und damit ein > Backup durchführen? Zu aufwendig. Gehe einfach per ssh auf den Raspi und starte den mysqldump. Fertig. Oder von deiner Arbeitsmaschine aus (mit -h ipadresse) aus, dann bekommst du es lokal.
:
Bearbeitet durch User
Mister A. schrieb: > Bitte was? Ich meine das so: - mysql server läuft am Raspi. - mysqldump läuft am Raspi. - Wo ist da eine Netzwerk-Verbindung dazwischen? (weil Du ja wg. WiFi gefragt hast). > Markus M. schrieb: >> Kannst Du EleLa für den RaspberryPi auf dem Raspi starten und damit ein >> Backup durchführen? > Zu aufwendig. Muss ich mal checken. > Gehe einfach per ssh auf den Raspi und starte den mysqldump. Fertig. Was glaubst Du, was ich die ganze Zeit mache? :-) Und genau das macht Probleme. LG. JK
Jaroslaw K. schrieb: > Ich meine das so: > - mysql server läuft am Raspi. > - mysqldump läuft am Raspi. > - Wo ist da eine Netzwerk-Verbindung dazwischen? (weil Du ja wg. WiFi > gefragt hast). Kenne deine Konfiguration nicht. Daher alles in Betracht gezogen. Was ich noch nicht weis - ob die Arbeitsmaschine Linux oder Windows ist? - welchen MySQL Version läuft auf dem Server (RasPi)? >> Gehe einfach per ssh auf den Raspi und starte den mysqldump. Fertig. > Was glaubst Du, was ich die ganze Zeit mache? :-) > Und genau das macht Probleme. Zum Verständnis: Der lokale mysqldump, am raspi mit mysql server, hat schon lokal das Problem, von sich - auf sich, den dump zu erstellen? Krass! Zeig mal bitte deine ~/my.cnf /etc/mysql/my.cnf + mysql.conf bzw. mariadb.cnf ggf. sind die verlinkt oder included, liegen dann ein Verzeichnis drunter.
Markus M. schrieb: > Kannst Du mit der Backup-Funktion nur die Tabelle "Foto" sichern? geht auch nicht. Er bricht in genau der gleichen Zeile ab. Etwas eigenartig ist die Meldung "Lost connection to MySQL server". Der Server ist danach aber weiterhin verfügbar (autom. Restarts habe ich nicht eingerichtet. Wenn er stirbt, dann bleibt er auch inaktiv). Für mich deutet das schon auf irgendein Timing-Problem hin... Mich überrascht es nur, dass es bei einer 200MB Datenbank auftritt... > Kannst Du EleLa für den RaspberryPi auf dem Raspi starten und damit ein > Backup durchführen? Das werde ich mir noch ansehen. > Ich habe eine Synology Discstation, da läuft MariaDB 10.3 drauf, diese Das, was hier bei mir als DB-Server läuft ist "MariaDB 10.3.22". > (einfache Administration) kann ich dies jedem empfehlen. Vor allem als > Firma, wenn man da 20..30 Stunden Arbeitszeit spart, dann ist die DS > schon billiger als alles was man selbst zusammenstellt. Ich brauche das nur privat für mein Hobby. Aber ich kann Deine Gedankengänge nachvollziehen. Beruflich habe ich viel mit DB2 und SQL Server zu tun. Dort würde ich sicher keine Datenbank am Raspi platzieren, aber privat in der Wohnung überwiegen andere Argumente. Ich will bei einem 24/7 System in der Wohnung keine Lüfter hören. Das ist auch der Grund, warum bei mir der Raspi immer läuft und ein HP ProLiant mit Tonnenweise SAS-Platten und LTO Tape-Library eine Ebene tiefer im gleichen Rack nur bei Bedarf eingeschaltet wird. LG. JK
Jaroslaw K. schrieb: > Etwas eigenartig ist die Meldung "Lost connection to MySQL server". Der > Server ist danach aber weiterhin verfügbar Oh ooooh, ich ahne böses. u.U. laufen mehrere Server, die sich auf die Füße treten.
1 | sudo systemctl stop mysql |
2 | sudo systemctl stop mysqld |
3 | sudo systemctl stop mariadb |
4 | sudo systemctl start mysql |
5 | und jetzt mach mal den mysqldump... |
wenn das nicht hilft - Bitte einen Auszug oder screenshot von der 'top' - Welche Version ist (dir bekannt) im Einsatz, welche Version sagt 'mysql --version'
Mister A. schrieb: >> Etwas eigenartig ist die Meldung "Lost connection to MySQL server". Der >> Server ist danach aber weiterhin verfügbar > Oh ooooh, ich ahne böses. u.U. laufen mehrere Server, die sich auf die > Füße treten. > sudo systemctl stop mysql > sudo systemctl stop mysqld > sudo systemctl stop mariadb > sudo systemctl start mysql Nein. Ich habe genau EINE installation und das ist:
1 | mysql Ver 15.1 Distrib 10.3.22-MariaDB, for debian-linux-gnueabihf (armv8l) using readline 5.2 |
> wenn das nicht hilft > - Bitte einen Auszug oder screenshot von der 'top' Es gibt keine weiteren Datenbank-Prozesse ausser einem einzigen "/usr/sbin/mysqld". Und dieser gehört zu MariaDB:
1 | # ps -ef|grep -i maria|grep -v grep |
2 | # ps -ef|grep -i mysql|grep -v grep |
3 | mysql 361 1 0 17:09 ? 00:00:02 /usr/sbin/mysqld |
4 | # dpkg -S /usr/sbin/mysqld |
5 | mariadb-server-core-10.3: /usr/sbin/mysqld |
6 | # |
> - Welche Version ist (dir bekannt) im Einsatz, welche Version sagt > 'mysql --version' Siehe oben. Ich installiere nicht einfach alles, sondern nur das, was ich brauche. LG. JK
Sieht alles gut aus. Kein Problem, muss funktionieren :)
1 | cat /etc/mysql/conf.d/mysqldump.cnf |
2 | [mysqldump] |
3 | quick
|
4 | quote-names |
5 | max_allowed_packet = 16M |
:
Bearbeitet durch User
Mister A. schrieb: > Sieht alles gut aus. Kein Problem, muss funktionieren :) Das bestätigt meine Diagnose. :-) Und trotzdem geht es nicht. Allerdings habe ich in den Log's Meldungen gefunden, die doch auf eine Daten-Corruption hindeuten. Eigenartig ist nur dass der "Table Check" am Server (CHECK TABLE `elela`.`foto` EXTENDED;) keine Probleme finden kann, beim Checksum jedoch der gleiche Fehler kommt, wie beim mysqldump:
1 | CHECKSUM TABLE `elela`.`foto`; |
2 | /* SQL Fehler (2013): Lost connection to MySQL server during query */ |
3 | /* Verbindung zum Server beendet um 2020-05-19 17:41:55 */ |
Ich denke, es wird mir nichts anderes über bleiben, als das Backup vom 12.05. zu restoren und von dort die Tabelle "foto" zu übernehmen. LG. JK
Mister A. schrieb: > [mysqldump] > quick > quote-names > max_allowed_packet = 16M Das schaut bei mir identisch aus. LG. JK
Merkwürdig, dass es nur die Bilder betrifft. Anfangs dachte ich sie seien einfach nur korrupt. Header bzw tail. Dann kam ja die Rückmeldung, sie können geöffnet werden. Was wenn es welche mit Pixel-Tracking oder Corona included sind? :) Wollen wir dann Markus schimpfen, warum er Bilder in die Datenbank hineinbläst :) Nachtrag: Die Idee ist gar nicht mal so weit hergeholt. Vor ein paar Tagen hattest du doch SSL implementiert? Wenn ein Tracking-Pixel die falsche Seite ansteuert... was dann? Wo schlägt die Meldung auf? MySQL hat nirgends ein Backend um es darzustellen.
:
Bearbeitet durch User
Ja, EleLa speichert Bilder in der Datenbank, jedoch maximal bis zu 64 KB je Bild, ist es größer wird das Bild verkleinert bis es passt, bzw. automatisch konvertiert in JPG oder PNG je nach dem welches Format kleiner wird. Diese Bilder in der DB zu halten macht durchaus Sinn, denn wenn die wo anders liegen, dann bräuchte EleLa nicht nur eine Datenbank-Verbindung zum Server sondern auch noch eine Dateifreigabe zu den Bildern, was den administrativen Aufwand deutlich erhöht. Ich bin sogar am überlegen ob es nicht auch Sinn macht die Handbücher (PDF's) mit in der Datenbank ab zu legen, so ein STM32-Reference-Manual hat gleich mal 20MB. Ich kenne einen EleLa-User dem seine DB ist ca. 800MB groß - und hat damit keine Probleme. @Jaroslaw: Bitte lösche die Datenbank noch nicht, denn das bringt gar nichts. Innerhalb weniger Tage hat man wieder diese Bilder drin und dann geht es wieder nicht. Ich versuche bei den Bildern eine spezielle Backup-Routine in EleLa zu schreiben, die die Bilder dann einzeln von der Datenbank liest, damit sollte das Timeout-Problem weg sein. Das mysqldump geht dann zwar immer noch nicht, aber darauf habe ich ja keinen Einfluss. Das "SSL" braucht es nur damit man HTTPS Internetseiten laden kann. Das wird für die neue API von Mouser benötigt. Ansonsten braucht EleLa kein SSL (auch nicht für die Datenbank). (Bin Tagsüber viel draußen im Garten, nicht so viel am PC...)
Mister A. schrieb: > Merkwürdig, dass es nur die Bilder betrifft. Sehe ich auch so. > Anfangs dachte ich sie seien einfach nur korrupt. Header bzw tail. Dann > kam ja die Rückmeldung, sie können geöffnet werden. Ja, das kann ich mir nicht erklären. Vor allem warum sagt er bei der Prüfung dass alles ok ist? Vielleicht haben die mariaDB Entwickler die Prüfung nicht ernst genommen. Andererseits müsste ich nachlesen, was da genau geprüft wird. > Nachtrag: Die Idee ist gar nicht mal so weit hergeholt. > Vor ein paar Tagen hattest du doch SSL implementiert? Nein. Vor einigen Tagen hatte ich mit SSL Probleme obwohl ich nichts verändert habe (so ähnlich wie jetzt). Und zuvor ist es ~2 Jahre lang ohne Probleme mit SSL gelaufen. Ich sage ja nicht, dass ich den Raspi gar nicht verändere da diverse Updates und Fixes einfach manchmal installiert werden sollten. Es ist nur damals wie jetzt genau dann etwas passiert, wenn ich gar keine Updates, bzw. Änderungen vorgenommen habe. Inzwischen habe ich die Sicherung vom 12.05. als neue Datenbank wiederhergestellt, die betroffene Tabelle in der aktuellen Datenbank gelöscht und durch die Version vom 12.05. aus der wiederhergestellten Datenbank ersetzt. Ich habe zwar um die 25 Bilder weniger, aber das ist jetzt nicht so wichtig. Da ja EleLa auf diese Bilder ohne Probleme zugreifen konnte, lag der Fehler vermutlich an einer anderen Stelle der Tabelle. D.h. ich könnte die Bilder auch noch retten. Jetzt funktioniert sowohl das Backup über EleLa als auch mysqldump wieder. Ich danke Euch für die Tipps! LG. JK
Wegen:
> beim Checksum jedoch der gleiche Fehler kommt, wie beim mysqldump
Ist ja klar, denn bei beiden wird ein SELECT * FROM 'foto' ausgeführt,
und da der Server zu lahm ist um alles in das RAM zu laden, bzw. der RAM
beim RasPi einfach zu klein ist, deshalb stürzt das einfach ab.
Wenn ich jedoch die Bilder-Daten einzeln abfrage reicht der Speicher
aus, bzw. braucht nicht so viel Zeit.
Wenn unter Linux der Speicher aus geht passieren die kuriosesten Dinge,
bis hin zum "Ich kann das OS nicht mehr starten".
Jaroslaw K. schrieb: > Ich habe zwar um die 25 Bilder weniger, aber das ist jetzt nicht so > wichtig. Nun bitte wieder das ausfühen: Beitrag "Re: EleLa - Elektronik Lagerverwaltung V3.1" Denn in der Datenbank gibt es noch jede Menge Verknüpfungen zu den fehlenden 25 Bildern. Wenn man das nicht macht und man neue Bilder hinzu fügt, dann tauchen diese plötzlich bei anderer Stelle mit auf und wenn man dann diese dort löscht, dann ist das Bild bei einem anderen Datensatz dann auch wieder weg. Doch es ist wichtig ;-)
:
Bearbeitet durch User
Jaroslaw K. schrieb: > Jetzt funktioniert sowohl das Backup über EleLa als auch mysqldump > wieder. > Ich danke Euch für die Tipps! Bin mal gespannt ob es auch noch funktioniert wenn diese 25 Bilder wieder neu in der Datenbank drin sind ...
Markus M. schrieb: > Diese Bilder in der DB zu halten macht durchaus Sinn, denn wenn die wo > anders liegen, dann bräuchte EleLa nicht nur eine Datenbank-Verbindung > zum Server sondern auch noch eine Dateifreigabe zu den Bildern, was den > administrativen Aufwand deutlich erhöht. das hängt davon ab, was als Datenbank genutzt wird. Im Fall des SQL Servers, den Du ja auch unterstützt, gibt es mit den FILESTREAMS eine sehr elegante Möglichkeit. Der SQL-Server stellt Dir selbst ein entsprechendes Share zur Verfügung und bei den Zugriffen einen Dateinamen auf welchen Du aus dem Programm heraus zugreifen kannst. Allerdings wenn Du auf Progress-Anzeigen beim Transfer großer Dateien verzichtest, dann musst Du nicht mal diese Informationen haben. Dort hat das den Vorteil, dass die Dateien dann zwar nicht in der Datenbank sondern in einem FILESTREAM Folder liegen, aber der SQL Server kümmert sich selbst auch um diesen Folder im Falle eines Backups bzw. Restore wodurch die Konsistenz dieses Folders und der Datenbank sichergestellt ist. Ich könnte Dir dazu Beispielcode liefern, allerdings nur in C#. Zum Thema ob es besser ist BLOBs in der Datenbank oder außerhalb der Datenbank zu speichern kann ich auf folgende Seite verweisen: [[https://www.microsoft.com/en-us/research/publication/to-blob-or-not-to-blob-large-object-storage-in-a-database-or-a-filesystem/]] Damit musste ich mich auch schon mal während der Entwicklung einer Applikation befassen. > Ich bin sogar am überlegen ob es nicht auch Sinn macht die Handbücher > (PDF's) mit in der Datenbank ab zu legen, so ein STM32-Reference-Manual > hat gleich mal 20MB. Da ich in einigen Fällen mehrere Dokumente pro Eintrag brauche, trage ich in diesen Fällen nur den Link zu einem Folder ein, der die Dokumente enthält. Das wäre dann nicht mehr möglich. > Ich kenne einen EleLa-User dem seine DB ist ca. 800MB groß - und hat > damit keine Probleme. 800MB ist auch nicht groß. Ich habe es normalerweise mit Datenbanken im TB-Berech zu tun und auch das ist im Normalfall kein Problem (am Raspi eventuell doch :-)). > @Jaroslaw: > Bitte lösche die Datenbank noch nicht, denn das bringt gar nichts. > Innerhalb weniger Tage hat man wieder diese Bilder drin und dann geht es > wieder nicht. Ich habe sie ja nicht sichern können, also habe ich sie nur als File-Backup des mysql-Data-Folders abgelegt. > Ich versuche bei den Bildern eine spezielle Backup-Routine in EleLa zu > schreiben, die die Bilder dann einzeln von der Datenbank liest, damit > sollte das Timeout-Problem weg sein. Das mysqldump geht dann zwar immer > noch nicht, aber darauf habe ich ja keinen Einfluss. Ich bin mir nicht sicher, ob das notwendig ist. Es war anscheinend wirklich ein Datenfehler da. Ich weiß zwar nicht woher, aber er war anscheinend da. LG. JK
Markus M. schrieb: > Doch es ist wichtig ;-) Ja, Du hast Recht. Ich habe mich falsch ausgedrückt. Mir war es nicht so wichtig, dem EleLa schon. :-) Er hat die Referenzen auf die fehlenden Bilder entfernt. LG. JK
Zitat: objects smaller than 256K are best stored in a database Na, dann habe ich es mit den Bildern ja richtig gemacht (64KB) ;-) Abgesehen davon, wenn man ein Backp offline auf einem Laptop mitnimmt und unterwegs arbeiten möchte sind die Bilder mit in der SQLite Datei, was ein Mitnehmen der Daten in den Urlaub erleichtert. Jaroslaw K. schrieb: > Ich bin mir nicht sicher, ob das notwendig ist. Es war anscheinend > wirklich ein Datenfehler da. Ich weiß zwar nicht woher, aber er war > anscheinend da. Wenn das wieder zum Problem werden sollte, dann ändere ich den EleLa-Backup, so dass Bilder einzeln vom Server abgefragt werden.
Markus M. schrieb: > Na, dann habe ich es mit den Bildern ja richtig gemacht (64KB) ;-) So sehe ich das auch. :-) > Abgesehen davon, wenn man ein Backp offline auf einem Laptop mitnimmt > und unterwegs arbeiten möchte sind die Bilder mit in der SQLite Datei, > was ein Mitnehmen der Daten in den Urlaub erleichtert. Das stimmt. > Wenn das wieder zum Problem werden sollte, dann ändere ich den > EleLa-Backup, so dass Bilder einzeln vom Server abgefragt werden. Alles klar. LG. JK
Markus M. schrieb: > da der Server zu lahm ist um alles in das RAM zu laden, bzw. der RAM > beim RasPi einfach zu klein ist, deshalb stürzt das einfach ab. Das sehe ich auch so. > Wenn ich jedoch die Bilder-Daten einzeln abfrage reicht der Speicher > aus, bzw. braucht nicht so viel Zeit. Genau. > Wenn unter Linux der Speicher aus geht passieren die kuriosesten Dinge Beobachtet habe so einige Server die letzten Jahre, da liefen zahlreiche Dienste und schaffen es selten die 1GB Grenze zu durchbrechen. Anders ist es bei Applikation, die gönnen sich gerne einen Polster. Extrem sind die Browser, die hauen sofort ordentlich rein, besorgen sich childs so viel wie nur geht. > bis hin zum "Ich kann das OS nicht mehr starten". Das ist ein Mythos. Der Speicher (RAM) geht nie aus. Dafür sorgt das Eco-System und die Anständigkeit der Entwickler. Alles andere fängt die swap ab. Und die kann man nicht mit so einer Windows pagefile vergleichen. Auch beim Diskspeicher (Storage) gibt es seit Jahrzenten eingebaute Schutzmaßnahmen. Ich gebe einer root-Partition dennoch nur ein "mkfs -m 0.1%" auf 8..15GB. Dabei ist noch nie was übergelaufen. Mister A. schrieb: > Wollen wir dann Markus schimpfen, warum er Bilder in die Datenbank > hineinbläst :) Das war natürlich nur ein Scherz. In Problemsituationen muss man irgendwoher ein Lächeln herzaubern. Es spricht absolut nichts dagegen, Bilder in die Datenbank abzulegen. Und bei dieser Mini Größenordnung erst recht nicht. Alle anderen Anlagen sollten aber auf eine /data ausgelagert werden. Natürlich kommt dann der Punkt Dokumentenmanagement. Markus M. schrieb: > Ich kenne einen EleLa-User dem seine DB ist ca. 800MB groß - und hat > damit keine Probleme. Ist auch keine Größe für eine Datenbank. Jaroslaw K. schrieb: > Ich habe sie ja nicht sichern können, also habe ich sie nur als > File-Backup des mysql-Data-Folders abgelegt. Schade, ich hätte sie testweise an ein anderes System gehängt. Dank Linux ist das kein Problem. Bei Raspi entsprechend an eine andere ARM Architektur. Jaroslaw K. schrieb: > (armv8l) using readline 5.2 ^^^^^^ Hoppala, du fährst die 64-bit Armbian? Weist schon dass die noch ganz frisch ist und erst seit Raspi4 das coming-out hat? Auch wenn die SoC seit Jahren schon 64-bit ist. Das könnte ein Punkt werden. Behalte das mal im Auge.
Jaroslaw K. schrieb: > mysql Ver 15.1 Distrib 10.3.22-MariaDB, for debian-linux-gnueabihf > (armv8l) using readline 5.2 Kommando zurück, da war ich zu schnell :)
Wie macht ihr es, bei Positionen im Projekt, die entweder - optional (als Bestückungsvariante) - oder alternativ (Ersatz) vorkommen? Anbei ein Beispiel der Zusammenstellung. Gibt es andere Möglichkeiten, Vorgänge oder kann man es so anwenden? Ich weis nicht was nachher noch kommt und folgt (Historie, Versionen, Revisionen, Änderungen usw.).
Mister A. schrieb: > - optional (als Bestückungsvariante) Dafür ist das Feld "Bestückungsvariante", damit kann man diese Bauteile mit Ein-/Ausblenden. > - oder alternativ (Ersatz) Als Alternative (Ersatz weil ein anderes z.B. abgekündigt wurde) kann man derzeit nur das neue Bauteil aus der Bauteil/Lager/Gehäuse Liste auswählen, das man zuor angelegt hatte. Alles andere macht keinen Sinn. Ab EleLa V4 kann man bei Bauteile/Variante die Ersatz-Typen direkt zusammen fassen und EleLa zeigt einem beim Projekt die Lagerbestände des gewählten Bauteils sowie der Ersatz-Typen. Dies macht vor allem bei den sogenannten "Hünerfutter" Teilen Sinn, da die Hersteller diese regelmäßig abkündigen und man schon wieder einen neuen (gleichen) Typ heraussuchen muss. Damit muss man dann nicht mehr die Positionen im Projekt anpassen. Anbei ein Screenshot, damit man es sich vielleicht besser vorstellen kann... Bild1: Bauteilansicht Bild2: Projektansicht mit Auswahl der verknüpften Bauteile Aktuell ist diese EXE noch nicht veröffentlicht.
Markus M. schrieb: > Ab EleLa V4 kann man bei Bauteile/Variante die Ersatz-Typen direkt > zusammen fassen Wow, das sieht ja richtig gut aus. Genau die fehlende Brücke freu. Bei Alternativpositionen sah ich bisher primär nur pingleiche Bauteile bzw. was das Lager gerade hergibt. Nach langem Gröbeln hab ich hier etwas an der Ablagestruktur/Schema verändert. Um eben möglichst eine ähnliche Gruppierfunktion zu erreichen. Bauteil wurde zu Meta-Bauteil. Lager/Gehäuse zu Bauteil. Library zu Pinout. - Die Meta-Bauteile (1. Ebene) sind eigentlich nur eine Gruppierung einer Bauteil-Serie und/oder eines Typen (Kategorie). - Die Bauteile (2. Ebene) stellen die einzelnen Bauteile dar. Egal welches Gehäuse/Bauform. - Der/das Pinout hilft einen kompatiblen Ersatz zu bestimmen. - Und die TecData runden das ganze auf und gehen ins Detail. Damit kann man relativ gut arbeiten (Screenshots). Etwas fällt mir noch stark ins Auge. Da die Bildschirme immer weiter in die Breite gehen, bleibt der Quadrant rechts relativ leer. Gut, im Lab benutze ich auch einen alten 4:3 der hauptsächlich nur als Infoterminal dient. - Die Bildervorschau z.B. braucht man nicht unbedingt permanent. Die könnte man ruhig auf ein drittel schrumpfen, bekäme so kleine 2x3 3x3 4x3 Thumbnails. Wenn man sie braucht, anklicken. - Den Projektkopf vielleicht auch (sobald die Positionsliste unten Einträge hat) weiter schrumpfen. So auf eine Zeile, komplett einfahren, nach rechts quetschen oder irgendwas anders. Eigentlich braucht man hier nur einen Indikator mit Version, ob man im richtigen Projekt ist. Nchtrag: Die Übersetzungstexte werden nicht immer geladen. Im letzten Bild (Widerstände) sieht man den Standard. Händisch einlesen geht natürlich.
:
Bearbeitet durch User
Ein paar Tipps ... Eigentlich hat EleLa sogar 3 Ebenen, vor der Ebene 1 gibt es noch die 0te Ebene, die man als "Grobstrukturierung" bei "Typ-F8" einstellt. Damit kann man sehr einfach z.B. alle Supressordioden gut zusammenfassen. das "Meta-Bauteile" (Ebene 1) würde ich etwas feiner strukturieren, also z.B. Bezeichnung: "C 100nF" Dann unter Gehäuse/Lager kommen alle Gehäuse und Typ-Variationen von den 100nF rein, die man so hat. Damit hat man einen Überblick welche 100nF man so alles hat (z.B. für Ersatzteil oder Neudesign). Bei Deiner Meta-Strukturierung müsste man erst in "C-Elko", dann "C-Kerko" und noch "C-Tantal" und darin jeweils 100nF suchen, um zu wissen was man hat. Bei Widerständen habe ich bei mir es so eingerichtet: Bauteil: "R 10,0 KOhm" Gehäuse/Lager: alle THT und SMD Typen (ich habe 5 verschiedene, auch der in CAY16 Gehäuse ist da mit dabei) Überlege es Dir noch das zu ändern, denn bei Kondensatoren & Widerstände wird es viele 100 Sorten mal geben und dann wird die Gehäuse/Lager Tabelle bald unübersichtlich. Vorgehensweise wenn ich irgend einen Widerstand finden will, der das Gehäuse "CAY16" hat: Ich suche unter "Typ-F8", wähle links im Baum "Widerstand" aus, rechts in der Checkbox-Liste die Gehäuse "CAY16" und "TC164". Die Tabelle zeigt dann alle Bauteile und Gehäuse/Lager Variationen an, ich muss nicht bei "Bauteile-F2" die einzelne Widerstände durchsuchen. Ähnlich auch bei Suche eines N-Mosfets in einem bestimmten Gehäuse, das findet sich am besten bei "Typ-F8". Zu TecData: EleLa kann mit "Suchen-F5" in den Datenfeldern von TecData suchen, wenn man sich bei Zahleneingabe an Zahlen hält kann EleLa auch ein ">=" oder "<=" suche starten. Beispiel: Man sucht einen Transistor mit PTot >= 100 Watt Bei der Eingabe "Voltage forward Vf [V]" mit der Eingabe "0.5-0.8" ist das dann keine Zahl mehr und die Suche schlägt somit fehl. Man müsste das in 2 TecData Felder schreiben "Voltage forward min Vf [V]" und "Voltage forward max Vf [V]". Bei Projekt, rechts neben "Menge Offen" gibt es einen Pfeil mit der man den unteren Teil "einklappen" kann und man sieht nur noch das Wichtigste. "Bezeichnung", "Handbuch" -> damit man da ein Link ins Projektverzeichnis setzen kann, "Termin" / "Mengen" -> wichtig für Herstellung und das "Bemerkung"-Feld Wegen Übersetzungstexte: Ist das der gleiche Rechner? Wenn man die übersetzten Texte in die Datenbank in die Translate Tabelle rein nimmt, ist das dann auch so?
:
Bearbeitet durch User
Markus M. schrieb: > 0te Ebene, die man als "Grobstrukturierung" bei "Typ-F8" einstellt Stimmt, die habe ich eingepflegt und dann raffiniert übergangen und ausgeklammert. Markus M. schrieb: > Bei Deiner Meta-Strukturierung müsste man erst in "C-Elko", dann > "C-Kerko" und noch "C-Tantal" und darin jeweils 100nF suchen, um zu > wissen was man hat. Ja, geht aber immer noch schneller bzw. übersichtlicher als 100 Einzeltypen zu haben. Jetzt habe genau einen R Widerstand und 3 C Kondensatoren im Hauptfenster. Zum Schluß werden es höchstend 5+5. Und es gibt ja auch noch Transistoren, MOSFETS... Da muss es pro Typ bei der groben Gruppe bleiben. Markus M. schrieb: > Überlege es Dir noch das zu ändern, denn bei Kondensatoren & Widerstände > wird es viele 100 Sorten mal geben und dann wird die Gehäuse/Lager > Tabelle bald unübersichtlich. Derzeit sind verhältnismäßig wenige Bauteile (nur die welche im Projekt benötigt werden) angelegt. Du hast völlig Recht. Ein Problem erschlagen, zweites geschaffen bzw. im Zulauf. Ich bewege mich primär im ersten/zweiten Bauteile-Fenster, dort war es mir wichtig nicht von Einzel-Bauteilen überflutet zu werden. Es war auch mehr eine Folgeaktion auf das Scrolling. Danach wurde sehr viel gekürzt und umstrukturiert. Die anderen Suchmöglicheiten muss ich noch praktisch entdecken. Markus M. schrieb: > Bei der Eingabe "Voltage forward Vf [V]" mit der Eingabe "0.5-0.8" ist > das dann keine Zahl mehr und die Suche schlägt somit fehl. Oups, schuldig. Wurde im Gefecht übersehen. Markus M. schrieb: > Wegen Übersetzungstexte: Das war ein kleiner Hoppala, in der ini war der Wert von "LanguageFile=" rausgeflogen. Nicht weiter schlimm. Evtl. ist in den Settings (nach einem Besuch dort) irgendwo noch eine Kleinigkeit unsauber, dass es als Null zurückgeschrieben wurde. Otto Normalo dürfte es kaum auffallen. Markus M. schrieb: > Ist das der gleiche Rechner? Wenn man die > übersetzten Texte in die Datenbank in die Translate Tabelle rein nimmt, > ist das dann auch so? Ist auf dem Dev/Spiele/Scripting-Rechner mit der lokalen sqlite. Dort darf alles passieren und zerbrechen. Mit dem großen Language-Editor komme ich irgendwie gar nicht klar. Die vielen Knöpfe, Tasten, Spalten verlangen ein extra Wochenendkurs :) Und dann noch das Verständnisproblem, kommen die Texte aus der Datei (ini Pfad), der neuen *.po, der Datenbank oder aus dem System ROM. Jedenfalls liest ein Neustart/Öffnen eine andere Quelle ein, als mir lieb ist :) Beim Client (Arbeitsplatzrechner) mit MySQL hab ich nicht geschaut. Auf dem läuft auch nur die Stable, keine Nightlies. ---hidden--- Ich bereite mich langsam auf die große Import-Aktion vor. Ziel ist es natürlich so viel wie möglich aus PartDB rüber zu holen. Zur Zeit geht es um 4295 Bauteile, 4245 EK-Konditionen, 349 Kategorien (Typen), 126 Lagerorte, 434+21 Hersteller/Lieferanten, 58 Baugruppen (Projekte), 7780 Anlagen/Datasheets/Pinbelegungen/Schematiken/Bilder, u.a. Kleinigkeiten. Dafür würde ich ein Feld benötigen um den Fortschritt/Status abzulegen. Ich dachte da an das "Kennz". Nur sehe ich keine Möglichkeit es zu editieren (ohne mühsam im SQL herumzufuhrwerken). "Artikel-Nr2" hingegen ließe sich bequem in der Datentabelle editieren. Davon nichts in der Maske. Und dann stolpere ich (Mauszeiger im Screenshot) auf ein totes Feld, ohne Bezeichnung und Inhalt. Es nimmt auch keine Eingaben entgegen. Entsteht dort was neues? Falls nein, könnte man es auf "Kennz" legen? Jedenfalls dachte ich, final die jeweilige PartDB ID ins "Kennz" unterzubringen, welche auch später für eine Zuordnung sorgt. Wenn es ganz gut läuft springt noch ein toller bidirektionaler Autosync heraus. Das "Handbuch"-Feld ist auch sehr interessant, da es eine url aufnehmen und öffnen kann. Hätte es den Vorteil, das Bauteil gezielt im Browser d.h. PartDB zu öffnen. Wo ich jetzt schon eine Funktion vermisse ist das Umsetzen von Bauteilen. Nicht Lager, sondern Bauteil zu anderes (Unter)Bauteil. Bauteil zu Meta, umgekehrt, kreuz und quer. Soweit die ersten Theorieansätze. ---
:
Bearbeitet durch User
Mister A. schrieb: > Ja, geht aber immer noch schneller bzw. übersichtlicher als 100 > Einzeltypen zu haben. Nein, das geht nicht schneller, man hat sicher 100 Untertypen und dazu ist "Lager/Gehäuse" nicht ausgelegt, denn man kann darin nicht so einfach Filtern. Bei der ersten Ebene gibt es das "Schnellsuchen" Eingabefeld, das hat 2 Funktionen, beim einfachen Tippen springt EleLa zu dem Datensatz, bei Eingabe von "*" wird automatisch gefiltert und die Ansicht reduziert. Die Filter-Taste nebenan aktiviert eine Filterung, so auch bei der Typ-Vorwahl. Damit bekommt man seine Ansicht sehr schnell hin. Siehe Bild1. Mister A. schrieb: > es gibt ja auch noch Transistoren, MOSFETS Das ist ja auch kein Problem, dazu gibt es die Eingabe von "Typ". Darauf kann man dann filtern. Ich habe bei Typ-F8 eine Hauptgruppe "Transistor" angelegt, darunter alles was es so gibt (bzw. was ich so habe) (Siehe Bild2). Mister A. schrieb: > Und dann noch das Verständnisproblem, kommen die Texte aus der Datei > (ini Pfad), der neuen *.po, der Datenbank oder aus dem System ROM. > Jedenfalls liest ein Neustart/Öffnen eine andere Quelle ein, als mir > lieb ist :) Es gibt in EleLa 2 verschiedene Sprach-Dateien, die "*.po" Datei kommt von Lazarus, diese macht die Übersetzung aller "System-Dialog" und wird in der INI Datei bei "LanguageFileLCL" eingetragen, wie z.B. Datei öffnen Dialog, oder "OK" Taste. Die andere sind die benutzerdefinierten Texte. Die Regel ist im Prinzip relativ einfach, diese wird nacheinander abgearbeitet, man kann die Original Übersetzungsdatei in der INI bei "LanguageFile" eintragen. Wenn man zusätzliche eigene Übersetzungen hat kann man eine zweite Datei bei "LanguageFile2" rein schreiben. Danach schaut EleLa in der Datenbank nach ob in der Spalte "Current" eine Übersetzung steht. In der Übersetzungs-Datei muss nicht der komplette Satz drin stehen, es reicht aus wenn da nur die Zeilen drin sind, die auch tatsächlich geändert haben. Das macht das ganze auch übersichtlicher. Beispiel Deine Übersetzung, Siehe Bild3 Du brauchtst nur in der Translate Tabelle die Zeilen anlegen, die Spalte "BezName" beschreibt wie die Komponente auf dem Formular heißt (Der Name wie es in der Programmierung vergeben hatte), dann in der Spalte "Current" nur überall den Text "Pinout" rein schreiben. Damit kann man auf die zusätzliche Sprach Datei in der INI verzichten und alle Arbeitsplätze im Netzwerk sehen identisch aus. Abgesehen davon ist die Übersetzung mit diesem Dialog viel leichter, da man Sortieren und Filtern kann. Im Feld "Kennz" kann man rein schreiben was man mag, auch die ID aus Part-DB. Wenn das Feld in der Eingabemaske nicht ist kann man es in der Tabelle eingeben. In der Maske sind nur die wichtigsten und Sinnvollsten Felder, die Tabelle hat noch deutlich mehr, damit die Maske nicht zu groß wird. Extra-Info für Datenbank-Experten: Du kannst in der EleLa Datenbank in der Tabelle natürlich auch ein zusätzliches Feld anlegen, das kennt dann EleLa nicht, aber EleLa meckert auch nicht wenn in der Datenbank plötzlich mehr Felder drin stehen. Dann kann man es zwar von EleLa aus nicht bearbeiten, jedoch mit einem externen Tool die Daten einfacher synchronisieren. Mister A. schrieb: > Das "Handbuch"-Feld ist auch sehr interessant, da es eine url aufnehmen > und öffnen kann. Eine URL kann auch das Memo aufnehmen und mit Strg-Klick öffnen Siehe Hilfe bei Allgemeine Infos > Memo-Feld Eingabefunktionen Damit ist kann man ziemlich viele Links sich merken. Mister A. schrieb: > Wo ich jetzt schon eine Funktion vermisse ist das Umsetzen von > Bauteilen. Nicht Lager, sondern Bauteil zu anderes (Unter)Bauteil. > Bauteil zu Meta, umgekehrt, Kreuz und quer. Du meinst das Menü, siehe Bild4? Immer wenn bei EleLa irgendwo mit der rechten Maustaste ein Menü geöffnet werden kann wird automatisch der Mauscursor auf "Pfeil mit Menü" geändert. (Bild5)
Ohje. Danke Markus. Ich brauche jetzt echt Urlaub, sonst platzt die Rübe. Nach 2 Wochen Dauerinput, kein Wunder dass man die einfachsten Sachen nicht mehr sieht :)
EleLa V3.1.20527 ist nun als Release fertig gestellt. Über die in EleLa implementierte Download Funktion kann diese EXE geladen werden. Extras-F10 -> Info -> Versionsabfrage Falls man die automatische Versionsabfrage aktiviert hat erscheint der Dialog automatisch nach ein paar Sekunden nachdem man EleLa aktiviert hat. Entweder man lädt die jeweilige EXE die man benötigt oder das Setup-Paket. Die Voraussetzung für die Installation ist die Datenbank mit der minimalen Version, siehe Bild1 oder hier: http://www.mmvisual.de/Hilfe/EleLa/Install.htm Wie immer vor einem Update ein Backup erstellen. ---------------------------------------------------------- Der Telegram Kanal "EleLa News" der Neuigkeiten: https://t.me/elela_news Fragen können gerne hier oder im Chat gestellt werden: https://t.me/mmvisual_elela
Markus M. schrieb: > EleLa V3.1.20527 ist nun als Release fertig gestellt. Yeah, eine neue Release. Danke Markus! Für die Linux-Freunde:
1 | Hardware | Sqlite | MySQL | MariaDB | PostgreSQL | MSSQL |
2 | ----------------------+--------+-------+---------+------------+-------
|
3 | Raspberry 3+4 SDcard | x | *1 | *1 | *1 | - |
4 | Raspberry 3+4 HDD/SSD | x | x | *2 | x | - |
5 | Desktop | x | 5.8 | *2 | x | - |
6 | Server | x | 8.0 | *2 | x | - |
7 | Virtualisierung | x | 5.8 | *2 | x | x |
8 | ----------------------+--------+-------+---------+------------+-------
|
*1 nicht empfohlen *2 vorbehaltlich und bedingt, Installationsanleitung des DB-Entwicklers sorgfältig beachten Die Angaben beruhen auf praktischen Test- und Erfahrungswerten.
Hallo, habe heute nach langem zögern nun auf die V3.1.20527 geupdatet, da es mir auch inzwischen in der Aktualisierungsabfrage angezeigt wird. Soweit Funktioniert noch alles, leider sind bei mir alle Lieferanten verschwunden. Bzw. nur noch vereinzelt. Vor allem bei Bauteilen wo ich mehrere Lieferanten hatte, wird entweder gar keiner oder nur einer angezeigt. Bug? Oder funktioniert meine Datenbank nicht mehr (MySQL) Auf die 3.0 kann ich auch nicht mehr zurück wechseln, da dann der Fehler kommt, dass die Datenbank nicht gelesen werden kann. Backup habe ich zwar, aber ich denke die Daten sind noch vorhanden werden nur nicht angezeigt?
Falscher Alarm. Habe die neue Bedienweise erst nicht ganz kapiert -peinlich- Bei V3.0 werden alle Teile bei Lieferanten angezeigt. Bei V3.1 nur noch von dem Teil wo man auf Gehäuse/Lager markiert hat.
Ja, das musste ich ändern. Wenn man 5 Bauteilvarianten hat und jeweils noch 2 Lieferanten mit 4 Preisstaffeln, dann waren 40 Einträge zu sehen und wurde unübersichtlich.
Werden in Zukunft auch weitere Versender in der Internetabfrage unterstützt? Bsp. TME oder Digikey. TME und Digikey bieten soweit ich weis eine API an. Eventuell dann nicht nur die Preisabfrage integrieren, sondern wenn es die API erlaubt (bei Digikey geht das laut Beschreibung) könnte man direkt aus ELELA heraus bestellen. Oder zumindest den Warenkorb füllen lassen mit den Bauteilen, welche man bestellen möchte/in der Bestellen Liste enthalten sind. So muss ich halt händisch die Preise raussuchen und wenn es dann ans Bestellen geht alle Bestellnummern und Stückzahlen manuell in den Warenkorb des jeweiligen Versenders tippen. Geht zwar aber bei vielen Bauteilen wird es auch wieder aufwändig.
Ich muss mir das anschauen wie das funktioniert. Aktuell bereite ich V4 vor um diese veröffentlichen zu können, daher haben diese Lieferanten erst mal kleinere Prio für die Implementierung.
Sebastian schrieb: > So muss ich halt händisch die Preise raussuchen und wenn es dann ans > Bestellen geht alle Bestellnummern und Stückzahlen manuell in den > Warenkorb des jeweiligen Versenders tippen. Datenabfrage ist das eine, Bestellung das andere. Datenabfragen schützen Dustributoren mit API-Schnittstellen. Jeder kocht da seine eigene Suppe und möchte verhindern dass mühsam zusammengetragene Daten frei abfließen. Die Verwendung eigener Bauteilnr. sind auch ein Grund dafür bzw. der Versuch es zu erschweren. Es ist also immer eine individuelle unikate Sache und relativ aufwändig. Beim Bestellvorgang hingegen zeigen sich die meisten entgegenkommend. Es sind ja Kunden, denen bietet fast jeder die Möglichkeit zum Upload/Einlesen einer universellen BOM im txt/csv oder anderen Formaten. Hier gibt es ein paar Lücken, Bauteile ohne expliziter Bestellnummern werden dann durch die eigene Datenbank gejagt um möglichst Treffer zu landen. Hier kann jeder für sich relativ einfach ansetzen.
Guten Morgen! Ist dieser Bug schon bekannt? === 07:03:36 E: SQL Error: Data too long for column 'BestellNr' at row 1 (spSaveClick_qBAdr)/( $000000010005F142) === IMHO sollte die Applikation darauf achten, dass in dieses Feld nicht mehr Zeichen eingegeben werden können, als die Datenbank zulässt... Die von mir verwendete EleLa Version: V3.1.20517-64 für Windows. LG. JK
Das ist nicht so einfach. Ein Zeichen kann bei UTF8 bis zu 4 Byte Speicher belegen. Bei der Berechnung der maximalen Zeichenlänge kontrolliert die Datenbank-Komponente daher auf das 4-Fache (anzahl Bytes) der erlaubten Zeichen. Wenn man normalen ASCII Text ohne Umlaute eingibt so ist 1 Zeichen 1 Byte. Sonderzeichen haben für 1 Zeichen bis zu 4 Byte. Ja ich ärgere mich auch schon seit Jahrzehnte darüber dass in den 50er/60er/70er Jahren alle Hochsprachenentwickler es komplett verbockt haben einen Text "ordentlich" im Speicher zu halten, nicht nur 1 Zeichen = 8 Bit. :-/ PS: Was ist das denn für eine Bestell-Nr die da nicht rein passt?
:
Bearbeitet durch User
Markus M. schrieb: > Das ist nicht so einfach. Ein Zeichen kann bei UTF8 bis zu 4 Byte Das kann ich nachvollziehen. Der aktuelle Zustand führt allerdings zu einer inkonsistenten Datenbank, wenn der Fehler beim erstmaligen Anlegen des Satzes auftritt, da die Daten anscheinend nur teilweise gespeichert werden. Neben dem betroffenen Feld ist auch das Feld "Gehäuse/Lager" danach leer, die anderen Felder sind aber befüllt. Der DB-Konsistenz-Check kann so etwas finden und beheben. > Speicher belegen. Bei der Berechnung der maximalen Zeichenlänge > kontrolliert die Datenbank-Komponente daher auf das 4-Fache (Anzahl > Bytes) der erlaubten Zeichen. Wenn man normalen ASCII Text ohne Umlaute > eingibt so ist 1 Zeichen 1 Byte. Sonderzeichen haben für 1 Zeichen bis > zu 4 Byte. Gibt es in der von Dir verwendeten Sprache das Konstrukt try-catch nicht? Das könnte Dir erlauben den Fehler, den die Datenbank meldet, abzufangen, auszuwerten und dementsprechend zu handeln... (z.B. Cleanup+Fehlermeldung) Bzw. um die Dateninkonsistenz zu verhindern, wären auch Datenbank Transaktionen geeignet. In diesem Fall wäre Rollback+Fehlermeldung sinnvoll. > PS: Was ist das denn für eine Bestell-Nr die da nicht rein passt? Ich hatte da keine Bestellnummer, also habe ich den Artikelnamen des Verkäufers eingetragen. Ja, ich weiß, das ist Schwachsinn, aber es hat eine Schwäche aufgezeigt. :-) LG. JK
Try-Except und Try-Finally gibt es schon. Jedoch sollte EleLa schon vorher alles korrekt abfangen. Wenn nicht, dann wirft die Application ein "OnError", das erzeugt einen Log incl. Funktionsname innerhalb von meinem Quellcode. Einige wenige Fehler werden mit Try abgefangen, die, die unter Umständen auftreten und die entsprechend behandelt werden können. Alle anderen Fehler werden komplett geloggt und die muss ich dann per Quellcode abfangen, bzw. sind Bugs. Daher bin ich in der Lage mit relativ knapper Fehlerbeschreibung hier im Forum den Fehler schnell finden zu können. Per Gieskannenprinzip Try-Except Blöcke ein zu bauen bringt nichts - außer ein Kaschieren von Bugs, die man besser machen könnte. Zudem sehe ich dann im Log nichts mehr (und alles sieht toll aus und es funktioniert nicht). Mal schauen, vielleicht finde ich ein relativ einfache praktikable Lösung für das Problem.
Markus M. schrieb: > Zudem sehe > ich dann im Log nichts mehr (und alles sieht toll aus und es > funktioniert nicht). Nicht unbedingt. Du kannst ja das Problem abfangen und trotzdem im Log protokollieren. Das Gießkannenprinzip ist nicht erforderlich, aber ein Insert, Update oder Delete in die Datenbank damit abzusichern wäre IMHO ok. Wie bekommst Du es derzeit eigentlich mit, dass bei einer Datenbank-Operation ein Fehler aufgetreten ist? Über den Return Code oder über eine Exception? LG. JK
Dann sollte es kein Problem sein. Die exceptions enthalten alles, was man zum protokollieren braucht... LG. JK
Hallo zusammen, habe jetzt noch einen kleinen MiniPC mit eingebauten Barcodescanner. Leider läuft da nur Windows 98 drauf auch wegen Treiber welche es nicht für andere Systeme gibt. Ist ein Pentium 700 Mhz, gibt es da eine Möglichkeit die Lagerverwaltung irgendwie damit zu nutzen. Möchte den auch nur zum einpflegen und zum Checken des Lagerbestandes nutzen. Mehr soll drauf auch nicht passieren. Netzwerk läuft aber natürlich nicht ins Internet. Hat da jemand ein tip ? Max
Hallo zusammen, habe einen kleinen Wandpc welcher in die Jahre gekommen ist. Darauf läuft noch Windows 98, gibt es da eine Möglichkeit den für eintragungen und abfragen zu benutzen? Im Netz hängt der 98er aber natürlich nicht im Internet. Max
Nein leider nicht. EleLa wurde mit Lazarus V2.0.8 und FPC 3.0.4 übersetzt, diese Compiller unterstützen leider dieses Betriebssystem nicht mehr. Mit einem älteren Compiller ist EleLa nicht ohne weiteres übersetzbar, da einiges am Code für die neueren Compiller angepasstwerden musste, bzw. neuere Features genutzt werden.
Vielen Dank für die Info, OK dann werde ich mal schauen ob sich vielleicht doch irgendwie was mit Linux machen läßt. Wäre ebend schade wenn der wech müsste. Max
Alternativ könnte ein RaspberryPi genutzt werden. Ist zwar nicht so schnell wie ein Desktop-PC, dafür relativ günstig.
Hallo, ich habe keine Ahnung von Datenbanken und muss mich in Elela (SQlite)einarbeiten. Wie kann ich ein Bauteil aus dem Reiter "Gehäuse/Lager" in einen anderen Bauteiltyp aus dem Reiter "Bauteil" verschieben? Z.B., mein Vorgänger hat einige Induktivitäten unter dem Bauteiltyp "Ferrit" angelegt. Die möchte ich zu dem schon vorhandenen Typ "Induktivitäten" verschieben. Kann man aus einer Sicherung einzelne, versehentlich gelöschte Datensätze zurück holen? Die Bauteile neu anlegen wäre kein Problem. Mir geht es Hauptsächlich um die Historie.
Das geht mit Rechtsklick auf das "Kopieren" Symbol unter "Gehäuse/Lager". Ansonsten alle Funktionen sind in der EleLa Hilfe beschrieben, mit der Taste "F1" öffnet die Hilfe und zeigt das Thema bei der Programmposition. Die Hilfe-Seite "Allgemeine Infos" sollte man lesen, darin sind die wichtigsten Funktionen von EleLa beschrieben. In der Hilfe unter "Installation > Tutorial - Erste Schritte" ist beschrieben wie man mit EleLa am besten anfängt.
Danke. unter F1 habe ich nur das Inhaltsverzeichnis. Wie komme ich an den Rest?
"Das Projekt kann mit einem Bauteil verknüpft werden. Damit ist das Ergebnis dieser Produktion ein Gerät, das als "Bauteil" verwaltet wird." Darüber habe ich in der Hilfe nichts gefunden.
Ja, dieses Problem kenne ich. Es liegt daran dass die Hilfe-Datei in einem Netz-Laufwerk liegt und die Microsoft Hilfe meint dadurch ist die Datei eine potentielle Gefahr und zeigt den Inhalt nicht mahr an. Man kann das Umgehen indem man die Datei "EleLa.chm" auf eine lokale Festplatte kopiert und dann mit Doppelklick öffnet, dann sollte diese korrekt gezeigt werden. Um das "richtig" Problem zu lösen gibt es 2 Ansätze: 1) Die Interneteinstellungen so einstellen dass CHM Dateien über Netzlaufwerk "sichere" Dateien sind: http://mmvisual.de/Hilfe/EleLa/FAQ.htm#7 (Punkt 7.) Ich bin mit nicht sicher ob dieser "Hack" unter Win10 noch korrekt funktioniert, anosnten ist die Lösung 2). 2) Dieses Tool verwenden: Alternativ kann man den "KChmViewer" installieren. EleLa erkennt wenn dieses Tool vorhanden ist automatisch und verwendet es, dann klappt es auch über das Netzlaufwerk. Das Setup daz ugibt es hier: http://mmvisual.de/elela/ -> Tools -> InstallKchmViewer-7.7-64bit.exe (PS: KChmViewer wird als Hilfe-Viewer unter Linux verwendet, da Linux das Microsoft Tool "HH.EXE" nicht kennt.)
Jürgen schrieb: > "Das Projekt kann mit einem Bauteil verknüpft werden. Damit ist das > Ergebnis dieser Produktion ein Gerät, das als "Bauteil" verwaltet wird." > > Darüber habe ich in der Hilfe nichts gefunden. Die Verknüprung eines Projektes zu einem Bauteil geht unter "Projekt": http://mmvisual.de/Hilfe/EleLa/Projekt.htm Hier kann das "Bauteil" sowie der "Gehäuse/Lager" Eintrag hinterlegt werden. Somit wird bei Fertigstellung des Projektes diese Menge von dem "Gehäuse/Lager" Eintrag erhöht.
Danke, und dass das Tool zusammen mit Elela funktioniert, sehr gut. Mit dem Projekt habe ich das in der Hilfe anders verstanden. "Wenn ich ein Projekt einem anderen Projekt unterordne, wird das Untergeordnete zu einem Bauteil (als Bauteil geführt)." Ich habe also ein Projekt angelegt (z.B. ein Gehäuse aus mehreren Teilen) und ein Unterprojekt (eine bestückte Platine). Wenn ich das Gehäuse mit einer Auftragsnummer buche, wird das Unterprojekt Platine nicht mitgebucht. Unter Projekte F3 gibt es den Reiter Geräte. Darüber finde ich in der Hilfe nichts.
Ab heute gibt es EleLa V4.0 öffentlich als Beta-Version. Fragen dazu bitte in diesem Thread stellen: Beitrag "EleLa - Elektronik Lagerverwaltung V4.0" Oder im Telegram-Chat: https://t.me/mmvisual_elela
Hallo, ich bin noch bei Version 3.1 "hängengeblieben" und habe eine Frage dazu: Gibt es einen Schalter beim Aufruf der Setup_Elela.exe, damit die Installation unbeaufsichtigt ("silent") erfolgen kann? Aktuell habe ich diverse Schalter ausprobiert, aber es bleibt am Ende der Installation immer die Dialogbox, dass man doch die Hilfe lesen möchte, manuell zu bestätigen.
Nein, ein "Slient" Setup gibt es nicht. Man kann jedoch ein Setup ausführen, anschließend alle Dateien die im EleLa Verzeichnis sich z.B. Zippen und einfach auf einem anderen Rechner so wie sie sind entpacken. Wenn es darum geht in einer Firma mehrere Arbeitsplätze mit EleLa aus zu statten kann man EleLa auf einem Netzlaufwerk installieren und alle nutzen diese EXE über den Server. Damit ist ein Update für den Systemadministrator einfacher. Damit dennoch die einzelnen Benutzer das eigene Layout haben kann in der INI-Datei die lokalen Pfade auf die User-Environment Variable gesetzt werden, Beispiel EleLa.ini: [Programm] TableFile=%TEMP%\Tables.txt TempDir=%TEMP% Alternativ kann %LOCALAPPDATA% oder ein anderes im System hinterlegtes Verzeichnis verwendet werden. Welche Systemvariablen angelegt sind kann man sehen wenn man in der Dos-Box den Befehl "SET" eingibt.
Markus M. schrieb: > Wenn es darum geht in einer Firma mehrere Arbeitsplätze mit EleLa aus zu > statten kann man EleLa auf einem Netzlaufwerk installieren und alle > nutzen diese EXE über den Server. Nein, es geht nicht um den Einsatz in einer Firma. Ich hab hier zuhause 2 Rechner (Laptop und den PC im "Bastelkeller") auf denen ich identische Versionen von EleLa haben will. Dafür passt die von Dir beschriebene Installation auf einem Netzlaufwerk ganz gut. Besten Dank!
Hallo Markus, ich nutze EleLa seit einigen Tagen (V3.1.20527 auf Win7 32bit). Mir ist eine Sache aufgefallen, was die Anzeige des Preis Chart betrifft. Bei mehreren Lieferanten wird eine Kurve pro Lieferant angezeigt. Wenn man aber bei einem Lieferanten verschiedene Bestellnummern hat werden die Staffelungen aller Bestellnummern zu einer Kurve vermischt (siehe Anhang). Zum Beispiel beim Relais PE014012: da gibt es bei RS die Möglichkeit einzelne Relais zu bestellen oder Kartonweise mit 25 Stück. Daher auch 2 verschieden Bestellnummern. Wäre es nicht sinnvoll beim Preis Chart nur die Staffelungen zu einer Kurve zusammen zu fassen die die gleiche Bestellnummer und den gleichen Lieferanten haben? Ansonsten muss ich sagen gutes Programm mit kleinen Schwächen. Ich finde zum Beispiel ungünstig daß beim Scrollen die einzelnen Datensätze durchlaufen werden (sehr langsam, bei meiner Maus zw. 3 und 9 Datensätze, je nach Scrollgeschwindigkeit, bevor man den Finger wieder nachsetzen muss) anstatt nur die Ansicht zu verschieben und den Datensatz durch anklicken zu wählen. Silvio
Silvio G. schrieb: > werden die > Staffelungen aller Bestellnummern zu einer Kurve vermischt Muss ich mir anschauen. Interessant wäre es welche Bestellnummer EleLa für eine Menge von 125 Stück in der Bestellung vorchlägt, ist es Karton oder der Einzelpreis. EleLa sollten hier die Bstellnummer zum günstigsten Preis zeigen. Silvio G. schrieb: > je nach Scrollgeschwindigkeit Ja, das Scrollen bewegt den Datensatz und muss dabei alle verknüpften Tabellen neu öffnen, daher dauert es leider ein wenig. Die Bilder zum Datensatz werden im Hintergrund zeitversetzt geladen. Ich überlege mir wie ich das optimieren kann.
Hallo, habe gerade mal probiert was bei einer Bestellung gewählt wird. 1-18 einzeln 19-25 Karton 26-38 einzeln 39-50 Karton 51-57 einzeln 58-75 Karton 76 einzeln ab 77 Karton Scheint also richtig berechnet zu werden. Ist also nur ein optischer Schönheitsfehler. Silvio
Silvio G. schrieb: > optischer Schönheitsfehler Dann ist gut :-) EleLa fasst das Bauteil vom gleichen Lieferant in eine Kurve zusammen. Es sieht optisch nur deshalb so unschön aus weil es extreme Sprünge zwischen den Preisen gibt. EleLa selbst wählt entsprechend der Preisstaffel dann den mit der besten Preis/Menge Relation aus. Wenn man bei größerer Stückzahl lieber den Karton nehmen möchte sollte man die Einzel-Stück Preise mit höherer Preisstaffel löschen. Oder wenn ohnehin nur Kartonweise bestellt werden sollte weil man die Relais ständig braucht, dann die Einzelstückpreise mit deren Bestellnummer komplett löschen und nur noch den Karton Preis belassen. Grad die Schwelle 76=Einzeln/77=Karton, bedeutet dass man 23 Relais im Prinzip gratis bekommt wenn man statt 76 gleich 77 bestellt. Daher auch der Preis-Chat damit man da sehen kann welche Preise man vielleicht besser aus der EleLa Liste löscht.
Hallo, mir ist gerade noch etwas aufgefallen. Beim Ändern der Technischen Daten erscheint der Eintrag nicht immer gleich in der Liste beim Suchen oder in der Konfiguration unter Globale Params. Das Kreuz bei "Eingabe abbrechen" wird beim Druck auf Speichern grau auch das Datum ändert sich, also gehe ich davon aus daß die Änderungen auch gespeichert wurden. Die eingegebenen Daten stehen auch nach einem Neustart des Programms noch im Bauteil drin, aber die Liste wird nicht verändert. Manchmal hat es scheinbar geholfen einen anderen Wert zu verändern, habe aber noch kein Muster erkennen können. Hab gerade bei einem Bauteil einen neuen Parameter hinzugefügt und gespeichert. Keine Reaktion in der Suchliste oder der Konfiguration. Den neuen Parameter bei dem Bauteil wieder gelöscht. Jetzt steht der sonst nirgends verwendete Parameter in den Listen drin. Hast du eine Idee was das Problem ist? Silvio
Wenn man den Datensatz mit der "Speichern" Taste speichert sollte der Datensatz mit Neuberechnung der Technische Daten Parameter erfolgen. Wenn man nur de Datensatz wechselt geht das nicht zuverlässig. Ab EleLa V4 ist das Problem behoben, ich hatte an der Stelle noch etwas korrigiert. Ansonsten sind alle hinterlegte Parameter unter Extras-F10 > Log > Optionen > Globale Params > Technische Daten hinterlegt, nicht mehr benötigte kann man aus dieser Liste löschen und werden dann nicht mehr angezeigt.
Hallo, hab mal bei dem Bauteil dessen Parameter nicht angezeigt wird einen neuen Parameter mit gleicher Bezeichnung eingegeben, da kommt sofort die Meldung der Parameter wäre schon vorhanden. Nach Eingabe eines neuen, noch nicht benutzten Parameters tauchte nur der alte Parameter unter Globale Params auf, dann unter Suche-F5 nachgesehen, da waren beide vorhanden und dann auch in Globale Params. Gibt es die V4 auch für Win 32bit? Würde das dann mal probieren. Silvio
Ja, habe nun EleLa V4 Win-EXE als 32 Bit erstellt, sie kann von hier geladen werden: http://www.mmvisual.de/elela/ > EleLa_V4.0 Vorher zu Sicherheit ein Backup der Datenbank erstellen.
Ok Danke, werde ich testen. Ich habe an dem Problem noch etwas weiter getestet. Der Fehler scheint aufzutreten wenn man einen vorhanden und gespeicherten Parameter in einen noch nicht vorhandenen umbenennt. Silvio
Bei EleLa V4 funktioniert es. Ausnahme: Wenn bei Suchen-F5 ein Filter auf technische Daten hinzugefügt wird, dann in Bauteil ein neuer Parametername hinzufügt, so wird dieser neue nicht in das Drop-Down Auswahlfeld der Parametername mit hinzugefügt, dazu müsste man erst die Filter-Zeile löschen und neu erstellen, in dieser neues wird der neue Parametername dann auch gezeigt.
:
Bearbeitet durch User
Hello! Thanks for very good program! What i can do with this? All working fine, but that overlaping fields looks bad.
I try to change scale factor in ini file, scale is changed, but overlap not changed. My os is Ubuntu 20.04.
I have fix this mistake in EleLa V4.0. You can download it from: http://www.mmvisual.de/elela/ > EleLa_V4.0 > EleLa_V4.0.21131_Linux64.zip First: make a backup with EleLa V3.1 Second: change the EXE file and start the new EXE. If you start new with EleLa, you can directly make the update without backup.
:
Bearbeitet durch User
Thanks, Markus! New interface looks good! I don't understand about backup, its for what type of database? I try to run new program without backup and it load postgres database fine. Can old versions (3.1) and new(4.0) work with postgres database at same time?
No, V3.x.xxxxx cannot run with V4.x.xxxx database. If you start EleLa V3.1, it will blocking. All clients must chage to V4.x.xxxxx. Make a backup with EleLa: Extras-F10 > Database > Import/Export menu > Import/Export database open a dialog to export the database into a file with format "SQLite". If your postgres databse server goes broken and you must reinstall, then you can import this backup into a new installation. A backup is very important.
Thanks, i understand about backup. Now i have 1 error on page Extras-Info
1 | 18:03:24 E: Statistik SQL Error[2]: SELECT COUNT(ID) FROM bauteillager |
2 | 18:03:24 ErrRaise: SQL Error: ОШИБКА: отношение "bauteillager" не существует |
3 | LINE 1: SELECT COUNT(ID) FROM bauteillager |
4 | ^ (pgExtraChange|CalcInfoStatistik) |
5 | 18:03:24 E: Statistik SQL Error[3]: SELECT SUM(Menge) FROM bauteillager |
6 | 18:03:24 ErrRaise: SQL Error: ОШИБКА: отношение "bauteillager" не существует |
7 | LINE 1: SELECT SUM(Menge) FROM bauteillager |
8 | ^
|
9 | 18:03:24 E: Statistik SQL Error[4]: SELECT SUM(EPreis * Menge) FROM bauteillager |
10 | 18:03:24 ErrRaise: SQL Error: ОШИБКА: отношение "bauteillager" не существует |
11 | LINE 1: SELECT SUM(EPreis * Menge) FROM bauteillager |
Its because i migrate database incorrectly?
Yes, you have change the database correctly. EleLa make in this update a lot of changes, in this chase the info side need change some SQL commands. Normally, EleLa chage this commands, too, but if this are not exact the same texts, it need to change it by hand. Here I have write all changes from EleLa V3.1 to EleLa V4: http://www.mmvisual.de/Hilfe/EleLa/EleLaV4.htm You can translate this side with https://www.deepl.com You need to change: Extras-F10 > Log > Options > Global Params > Design > Info Statistik and change all tabel names "bauteillager" into "bauteilvariante" or "bauteilkiste", see the table from the side "EleLaV4.htm".
:
Bearbeitet durch User
I follow that instruction and now all works fine, no errors. Maybe somewhere exists a new file Lang_EN.txt? Now i am using that file from 3.1 and in Components i have some Deutsch labels.
Here the files for EleLa V4.0 english and russia. But the translation is now not complete, the most texts are translated.
:
Bearbeitet durch User
Ich verwende noch EleLa 3.1mit einer lokalen Datenbank und wollte diese gerne auf einen SQL-Server (Version 5.6.51) übertragen. Ich hatte diese Kombination früher schon mal am Laufen und funktionierte so weit auch. Allerdings gibt es die alte Datenbank nicht mehr und der SQL-Server hatte einiges Updates in der Zwischenzeit. Ich kann mit phpMyAdmin eine Datenbank erstellen und auch verbinden. Teste Verbindung zeigt grün an. Start program V3.1.20527-64 Parameter [DB] Protocol=mysql Connect database... DB.Version: SQLite-DLL: 3.31.1 / MySQL: 5.6.51 Database Version: V3.1.18B30 19:47:37 Error: Cannot open database! Cannot access blob record in column 34 with type String (qAdr) Die Datenbank ist leer und mit Erzeuge neue Datenbank erscheint folgender Fehler: Start create Database and tables 192.168.201.250.elela Create Table "adr" CreateIndex (adr,ID_ID_Bezeichnung) CreateIndex (adr,ID_ID) E: SQL Error: The used storage engine can't index column 'ID_ID' (btnKonfigClick|TfrmKonfig.btnErzeugeDBClick|CreateIndex (adr,ID_ID))/( $000000010005F142) Jemand eine Idee, woran es liegen könnte? Habe es auch schon mit V4.2.23 versucht, bekomme aber ähnliche Fehler.
Vermutlich ist der MySQL Server zu alt und kennt den Feld Datentyp JSON noch nicht. Hier sind die Mindestandorderungen der SQL Server beschrieben: http://elela.de/Hilfe/Index.php Dann auf der linken Seite "Installation" wählen, der dritte Einttag von oben. Diese Mindestanforderungen gelten für EleLa V3.1 sowie 4.x
Ich verwende erstmal meine alte lokale Datenbank bis ich den SQL upgedated hab. Was mit aufgefallen ist: In V3.1 hab ich keine Möglichkeit für den Export. Keine Ahnung wie ich das dann mal in SQL migrieren soll. In V4.2 habe ich diese Funktion aber. Wenn ich die Datenbank (SQLite3) in V4.2 kopiere, kommt "EleLa - Datenbankupdate 67" und bricht mit dem Fehler "Datenbank=Update Nr. 67 fehlgeschlagen! Führen Sie den Update manuell aus." Weiter "SQL Error: SQL logic error" "Error" Cannot open database! qAdr" Field not found..." Und seltsamerweise beschwert es sich, dass die Datenbank neuer als das Programm ist und ich soll auf die neuere Version updaten. Neuer als 4.2???
Um ein Backup der SQLite Version von V3.1 zu erstellen reicht es den kompletten EleLa Ordner zu sichern als ZIP Datei. Dann hat man die EXE sowie die Datenbank Datei "EleLa.sq3" (die Daten) sowie die komplette Konfigurationen gesichert. Danach kann man eigentlich auch nichts mehr kaputt machen. EleLa kontrolliert ab V4 deutlich strenger die Integrität der Daten, der Update 67 prüft die Datenbank und löscht blinde Datensätze ohne Zuordnung. Ich vermute mal dass in deinem Fall es noch Datensätze in Tabellen gibt bei denen das nicht geht. Die weiteren Fehlermeldungen "Error" Cannot open database! qAdr" Field not found..." und dass sich die Datenbank nicht öffnen lässt ist eine Sicherheitsfunktion von EleLa. Damit wenn die Datenbank nicht korrekt konvertiert wurde, dass man mit EleLa durch neueingaben von Daten die Datenbank nicht noch beschädigen kann. Es ist somit eine gewünschte Funktion für die Datensicherheit. Wenn ich die Datei "EleLa.sq3" als Zip per E-Mail bekommen könnte, dann kann ich danach schauen was genau der Fehler bei der Konvertierung auslöst und beheben. Meine Mail-Adresse steht in EleLa unter Extras-F10 > Info. Am besten mit der letzte Originalstand von EleLa V3.1 senden, vor dem Update, dann kann ich es ab besten nachvollziehen und beheben.
Danke für die Erklärung. Ich habe es jetzt hinbekommen. Zumindest den Teil mit der Datenbank auf dem Server anlegen. Habe es auch geschafft meine lokale Kopie zu importieren. Habe auch noch eine alte Datenbank aber nur noch die frm und ibd files und das wird etwas komplizierter diese zu rekonstruieren. Habe V4 parallel installiert und funktioniert soweit auch mit dem Datenbank-Server. Werde es jetzt auf V3.1 noch eine Weile beobachten und dann vermutlich auf V4 updaten. Eine Frage noch. Ich weiß, das Thema ist schon ewig alt und auch nie wirklich fertiggestellt worden. Aber ich hatte EleLaPHP mal am Laufen und hat auch soweit eigentlich ganz gut funktioniert. Verwende jetzt MySQL 5.7 und PHP 7.x und zeigt mir nichts mehr an. Weißt du da auf die Schnelle (ohne dich jetzt lange damit zu beschäftigen) was das Problem sein könnte?
Bei EleLaPHP: Vermutlich funktioniert das Öffnen der Datenbank nicht. PHP hat die Eigenschaft dass ständig was geändert/verbessert wird und die alten Sachen hinten runter fallen. PHP Entwicklung ist daher sehr aufwändig. Es könnte an der Datei "globalfunc.php" liegen. Ich habe mal einen alten Stand EleLaPHP angehängt, ich pflege den nicht mehr, ich konzentriere mich mehr auf die EXE. Vielleicht hilft es.
Super. Danke. Nun funktioniert es. Woran es genau lag, kann ich jetzt nicht sagen, da ich die alten Dateien einfach überschrieben habe. Muss aber irgendwas in der globalfunc.php sein, da es mit der alten Version nicht mehr funktioniert, wenn ich es zurückkopiere. Zwei Fehler sind mir aufgefallen: Seite „Bauteile verwalten“ Wenn Umlaute in Namen sind, wird nur ein Ordner ohne Bezeichnung dargestellt und lässt sich demnach auch nicht anklicken. Bei allen anderen Einträgen übrigens auch. Einfach in EleLa oder der Datenbank selbst die Umlaute entfernen und dann geht es. Das Sprachschema (verwende utf8_general_ci) umstellen hat jedenfalls nichts gebracht. Wenn dann ist es irgendwas in PHP und ich habe weder von HTML noch von PHP null Ahnung. Und die Suche funktioniert nicht. Seite kann nicht dargestellt werden. In suche.php Zeile 68 die Klammer schießen vergessen. Alt if (($P_DBTyp == "MsSQL") Neu if (($P_DBTyp == "MsSQL")) Für alle Anderen, die es vielleicht auch noch interessiert. Mein Setup ist EleLa V3.1, MySQL 5.7.44, PHP 7.4.33 und apache 2.4.51 (wobei das wahrscheinlich egal ist). Man kann die Seite sogar mit Windows 2000 problemlos aufrufen. Eine mit V4.2.23 erstellte Datenbank funktioniert grundsätzlich auch erstmal, habe ich aber noch nicht weiter getestet.
Wegen den Umlauten vermute ich dass ein "ä" zu einem "ä" für die korrekte Darstellung im Webbrowser gemacht wird. Und ein Bauteil mit dem Text "ä" gibt es natürlich in der DB nicht, da fehlt vielleicht nur die Zurückwandlung. Wenn ich etwas mit PHP mache muss ich fast jeden Befehl ergoogeln. Ich weis was ich will, jedoch die Syntax und welcher der zig Befehle denn nun korrekt oder der für mein Problem die ideale Lösung bietet weis nur google. Abgesehen davon würden andere "Modernere" Programmiersprachen verwenden als PHP. Das Internet ändert sich fortlaufend und so schnell, damit so komplexe Dinge wie EleLa rein zu bekommen ist enorm viel Arbeit. Im vergleich dazu eine EXE zu bauen ist um Welten einfacher. Die Unterschiede zwischen der alten Version der Datenbank und der neuen habe ich hier beschrieben: https://elela.de/Hilfe/Index.php?url=EleLaV4.htm In diesen Links findet man den Aufbau der Datenstruktur/Datenbank der jeweiligen Versionen: https://elela.de/Hilfe/Index.php?url=TutorialDB/TutDB.htm https://elela.de/Hilfe/Index.php?url=TutorialDB/TutDBV4.htm Wenn eine Ansicht nicht geht kann man damit herausfinden wie die Spalte neu heißt. Wenn man SQL Befehle für die PHP Darstellung benötigt und nicht genau weiß wie man die schreibt kann man innerhalb von EleLa mit Rechtsklick auf die Tabelle "Kopiere SQL Befehl in Zwischenablage" ausführen und sich den SQL Befehl unter Extras-F10 > Datenbank einkopieren und modifizieren bis er das gewünschte Ergebnis zeigt: https://elela.de/Hilfe/Index.php?url=ExtraDB.htm Somit bietet EleLa die grundlegenden Werkzeuge für eigene Entwicklung mit PHP. Man muss ja nicht das komplette EleLa per PHP nachbilden, oftmals reicht es aus wenn man nur den Bauteilebestand sieht. Oder man möchte Zugriff auf den "Wissen" Bereich haben um von der Ferne aus die Infos lesen zu können. Den Bereich Projekte auf PHP zu bekommen ist extrem aufwändig und komplex.
:
Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.