Problem ist gelöst, ist jetzt wieder 10 - 30 x schneller: Das Hauptproblem war ein PK (einer anderen gejointen Tabelle), der versehentlich auf 2 Feldern definiert war, anstatt dass das 2. Feld als separater Index definiert wurde.
(wegen Bedienung einer zusätzlichen Werte-Historie wurde pro "Update" folgende Sequenz in einer Schleife duchgeführt: Select mit Join -> Update -> Insert in Historie. Vermutete zuerst, dass das die Transaktion ineffektiv machen könnte und wollte Select, Updates und Inserts separieren. Aber das scheint jetzt nicht mehr nötig.)
Vielen Dank für eure Hinweise!
Wenn ich den Befehl
C:\Users\user>imp userid=admin/admin file=C:\Users\user\Desktop\Dump\export_dump_exclude_tables_metadata_01.dmp
so absetze, erhalte ich die Meldung:
Verbunden mit: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
IMP-00401: Dumpdatei "C:\Users\user\Desktop\Dump\export_dump_exclude_tables_metadata_01.dmp" ist m÷glicherweise eine Data Pump Export-Dumpdatei
IMP-00000: Der Import-Vorgang endete mit Fehlern
@mixer007 sagte in Daten in eine Datenbank hochladen: automatisieren:
und wie soll das gehen?
Ich habe nicht viel mit Python gemacht.
Das steht nicht in dem PDF.
Hersteller/Vertreiber/FAQ der Datenbank befragen.
Da sollten mehr Infos raus kommen.
Hi,
also ich mache dies oft wie folgt um eine neue Datenbank anzulegen:
$ touch database.sqlite3
$ sqlite3 database.sqlite3
sqlite> CREATE TABE ...
.exit
$
Sollte so gehen. Ich hatte auch schon mal das Problem das SQLite3 nicht direkt eine Datenbank anlegen wollte und erst eine leere Datei benötigte.
-codejunkie
Ich würde, wenn es Windows und LInux ist, postgresql empfehlen. Ist open Source und hat sogar ein High-Level-Interface ala exec sql select... into :feld1, :feld2... end-exec.
habe mit LMDB gute Erfahrungen gemacht, wenn es um reine Key-Value-Pairs geht.
Anwendungsfall war bei mir ähnlich, Anzahl der Datensätze war groß, die Größe der abgespeicherten Binärdaten dagegen klein (~10kb).
Gibt auch eine C++ API.
xyz3 schrieb:
grad gesehen mysql unterstuetzt ja gar kein, FULL OUTER JOIN , wieso das denn ???
Das wirst du eher die Devs fragen müssen Vermutlich aber weil die Nachfrage einfach zu gering ist.
Selbst habe ich in 10+ Jahren Web-Development erst 1 oder 2 Mal einen FULL OUTER JOIN gebraucht und den kann man sich in MySQL easy über LEFT JOIN, RIGHT JOIN und UNION zusammenbauen.
hustbaer schrieb:
ps: Die "moderne" Variante davon wäre dann statt eines klassischen GUI Client gleich ne Web-Anwendung zu machen.
Jetzt schlag doch nicht gleich solche Teufeleien vor
Stimmt bereits mit meiner Beschreibung einige Posts vorher NICHT überein. Termin 3 hat nur eine Ressource, weißt aber dennoch eine überlappung auf. Und auch wenn ein Zeitfenster mehreren Ressourcen zugeordnet ist MUSS KEINE Überlappung existieren.
ja, weil diese ressouce noch in termin 2 vorkommt.
das hatte ich ja gesagt: wenn eine ressource bei mehreren terminen (anz. termine>1), die sich zeitlich überlappen mehr als einmal vorkommt (ressourcentyp>1), dann muss sich diese ressource überlappen, da sie zur selben zeit von n>1 verschiedenen terminen verwendet werden will.
Doch, sie kommt vor und ist auch wichtig. Ich brauche einen Select der Erkennt das Zeitfenster 1-3 miteinander überlappen (und sei es nur durch einen Teil untereinander) UND alle beteiligten Räume.
wenn du bei sich überschneidenen terminen generell ALLE beteidigten räume willst, warum dann dieses prüfen der raumüberlappungen?
Hallo Liebe Community,
ich möchte mich gerne in ADO.NET einarbeiten und zwar möchte ich dieses mit Visual C++ und Visual Studio 2017 umsetzten.
Daher bitte keine Hilfreichen tipps wie verwende dies und jenes. Meine Vorgabe ist das ich mich in ADO.NET in C++ und Visual Studio 2017 einarbeite.
Nun zu meinen Problem: Ich finde keine wirklich (zumindest nicht für mich) hilfreichen Tutorials bzw. Literatur. Das was ich bisher gefunden habe behandelt das ganze eher oberflächlich geht jedoch nicht wirklich ins Detail bzw. bezieht sich auf C#. Das bringt mich aber nicht wirklich weiter weil ich ja nicht nur irgend etwas nachschreiben möchte sondern selbst entwickeln möchte.
Daher bin ich für jeden Tipp dankbar.
Mein erstes Ziel ist es eine Verbindung zu einer Lokalen DB (mdb) herzustellen diese auf einer Windowsform teilweise/ komplett anzuzeigen und die Daten in der DB zu manipulieren/ erweitern.
ps:
Mamba schrieb:
Nur gefällt mir der logarithmische Aufwand des NTFS Datensystems (Ist doch O(log n) oder?). In einer Datei will ich nicht alle Daten speichern, da ich dann jedesmal alles einlesen müsste und es beim verändern kompliziert wird. Jemand eine nette Idee zum abspeichern?
Das macht man üblicherweise mit B-Bäumen. (Gibt auch einige Derivate z.B. B+, B*.)
https://en.wikipedia.org/wiki/B-tree
Hi DerBayer,
DerBayer schrieb:
Ich wuerde mir einfach Dateien speichern.
Dann liegen eben 10 verschiedene Versionen auf dem Server rum und unterscheiden sich im Schlimmstenfalls kaum. Die neueste Version ist immer die mit der hoechsten Nummer.
externe Dateien können aktuell sein, in der Datenbank selber abgelegte Informationenen sind es (zumindest wenn sie nicht nur textlich die Dinge beschreiben die Du zu machen hast, sondern als Datenbankbefehle die nötige Konfiguration selbst veranlassen).
Irgendwer wir irgendwann mal die falsche Konfiguration zur verwenden und wenn Du Pech hast dann wenn gerade keine gültige Datensicherung greifbar ist.
Hauptsache Du hast dann ein schnelles Pferd, wenn sie mit dem Messer zwischen den Zähnen hinter Dir her rennen.
Gruß Mümmel
Hi Uddi,
Uddi schrieb:
Diese Referenzkarte gibt es eigentlich nur noch gebraucht zu bekommen.
Muss ich ihn einmal fragen, ob er das will.
Die ist massiv laminiert, die kriegt man nicht kaputt. Vermutlich übersteht die auch das Mitwaschen in der Waschmaschine.
Gruß Mümmel
ct schrieb:
was ist ein klicktool
Hallo __ct__,
das ist ein Tool wo daten nach einem Anruf erfasst und diese in einer Datenbank gespeichert werden sollen. So ähnlich wie eine Kundendatenbank. Nur leider scheitert es bei mir an die Übertragung.
Bild
https://sopy.myqnapcloud.com:8081/HausmeisterServicePoint/Tool.bmp
Hallo!
Ich habe eine PLAN_TABLE Tabelle aus externer Quelle die ich gerne grafisch
aufarbeitet darstellen möchte.
DBVisualiser bietet ja die Funktion Execute Explain Plan, wo ich gewünschte Aufbereitung erhalte, aber ich habe die Einträge in der PLAN_TABLE Tabelle bereits, kann ich die Tabelle "importieren" und dann darstellen lassen?
Danke!
@Th69
Nö, die Hälfte wäre nicht '80000000-0000-0000-000000000000'* - zumindest nicht wenn das Datenbank-System die UUIDs "korrekt" sortiert (MS SQL macht es z.B. korrekt).
Grund: Die erste Stelle in der 8-4-4-4-12 Schreibweise ist ne Stelle mitten in einem Timestamp. Also nicht die höchstwertige Stelle und auch nicht die Stelle mit dem geringsten Wert - einfach schön mitten drinnen. Der Rest ist ebenso zerpflückt.
Die höchstwertige Stelle der ganzen UUID bei MS SQL wäre der erste Teil der 12-er Gruppe. Also '00000000-0000-0000-0000-800000000000' wäre die Hälfte.
@Dudeldu
Um das abschätzen zu können muss man wissen wie die UUIDs erzeugt werden und wie dein DBMS die UUIDs vergleicht/sortiert.
Aber: was willst du damit überhaupt erreichen?
Wenn du die Tabelle bloss stückweise durchgehen willst, dann kannst du dir ja einfach die ersten z.B. 100.000 Zeilen holen, sortiert nach der UUID, und dann die letzte UUID merken.
Bei der zweiten Abfrage machst du das selbe, nur mit der zusätzlichen Bedingung dass die UUID grösser ist als die zuletzt gemerkte.
So kommst du auf eine perfekt gleichmässige Aufteilung, ohne dass du vorher irgendwas ausrechnen/ermitteln müsstest.
*: Wenn schon dann müsste es '80000000-0000-0000-0000-000000000000' heissen.