Eine neue Version der sQLshell ist verfügbar!
Die sQLshell bietet nun die Möglichkeit, durch den Anwender neue Datenbankmanagementsysteme zu unterstützen, ohne die Anwendung ändern zu müssen.
Die sQLshell prüft nun beim Import die Signatur und das Zertifikat des Signierenden, falls die XML-Datei bzw. das zugehörige Schema eine XML-Signatur aufweist.
Die Idee, den Nutzer zu ermächtigen, selbst weitere Datenbankmanagementsysteme zur Liste der bereits unterstützten hinzuzufügen kam ich, als ich auf arxiv im Bereich Datenbanken über einen Artikel zu einem SLQ-Debugger stolperte.
Neugierig geworden las ich mir zunächst den Artikel durch und recherchierte anschließend die darin genannte Softwarelösung namens Calcite - ein Apache-Projekt. Ich arbeitete das Tutorial durch und stellte fest, dass es - zumindest aus meiner Sicht - etwas Ähnliches wie das bereits durch die sQLshell unterstützte Apache Drill darstellt. Das fand ich zwar interessant, nicht jedoch so sehr, als dass ich deshalb die Sourcecode-Basis der sQLshell unbedingt größeren Änderungen hätte unterziehen wollen. Also kam mir der Gedanke, dass es doch mit minimalen Änderungen am bestehenden Code, der es ermöglicht, andere JDBC-Treiber für die unterstützten Datenbankmanagementsysteme zu verwenden, auch möglich sein müsste, als Anwender gänzlich neue Datenbankmanagementsysteme zur Liste der unterstützten hinzuzufügen.
Ich musste dann doch eine ganz kleine Code-Änderung durchführen - der Inhalt der Datei
123_DriverClassName.template
org.apache.calcite.jdbc.Driver
123_JarLocation.template
/Calcite/lib/
123_URL.template
jdbc:calcite:model=${db}
Der Test geschah mittels der JDBC-Bridge von Calcite - das model dafür sah wie folgt aus:
{
version: '1.0',
defaultSchema: 'PSchema',
schemas: [
{
name: 'PSchema',
type: 'custom',
factory: 'org.apache.calcite.adapter.jdbc.JdbcSchema$Factory',
operand: {
jdbcDriver: 'org.postgresql.Driver',
jdbcUrl: 'jdbc:postgresql://postgresqlserver.docker.lab:5432/jdbctest',
jdbcUser: '*****',
jdbcPassword: '*****'
}
}
]
}
Wichtig wäre hierbei noch zu erwähnen, dass ich damit zwar die Verbindung herstellen konnte, allerdings war danach die Ausführung beliebiger SQL-Statements nicht möglich - die Fehlermeldungen glichen sich immer: Ein Identifier - alles in Großbuchstaben - konnte nicht gefunden werden, ob ich (hier die korrekte Schreibweise wie sie in der Datenbank und auch im Statement benutzt wurde) gemeint hätte? Dieses Problem ließ sich über einen der Properties für den Aufbau der Verbindung - caseSensitive - beheben.
Precision Time Protocol
15.10.2021
Durch meinen Neffen wurde ich neulich auf ein Video im Internet aufmerksam gemacht, aus dem ich von der Existenz des Protokolls PTP oder Precision Time Protocol erfuhr. Hier einige Gedanken dazu
WeiterlesenAI und ML Android Basteln C und C++ Chaos Datenbanken Docker dWb+ ESP Wifi Garten Geo Go GUI Hardware Java Jupyter JupyterBinder Komponenten Links Linux Markdown Markup Music Numerik OpenSource PKI-X.509-CA Präsentationen Python QBrowser Rants Raspi Revisited Security Software-Test sQLshell TeleGrafana Verschiedenes Video Virtualisierung Windows Upcoming...
Als ich diese Lösung zur Darstellunbg und Analyse von beliebigen strukturierten Daten fand (das Beispiel erledigt das für ASN.1 kodierte Informationen), fasste ich den Entschluss, dass ich eine entsprechende Komponente in Java realisieren wollte.
WeiterlesenEin Influenzer würde einen solchen Artikel beginnen mit "Ich werde immer wieder gefragt, warum..." Da ich keiner bin kann ich so etwas nicht tun – statt dessen erläutere ich einfach das Szenario: Ich pflege diverse Open Source Projekte, die sich mit PKI und kryptographischen Timestamps. Jedoch benutzt die sQLshell elektronische Signaturen nur für die Verteilung der diversen Plugins.
WeiterlesenIch habe bisher einen Aspekt absichtlich und gewissenhaft aus der sQLshell herausgelassen, mich aber jetzt - wo die Zahl der gefundenen Sicherheitslücken in allen möglichen Produkten immer mehr zunimmt - doch einmal damit beschäftigt...
WeiterlesenManche nennen es Blog, manche Web-Seite - ich schreibe hier hin und wieder über meine Erlebnisse, Rückschläge und Erleuchtungen bei meinen Hobbies.
Wer daran teilhaben und eventuell sogar davon profitieren möchte, muss damit leben, daß ich hin und wieder kleine Ausflüge in Bereiche mache, die nichts mit IT, Administration oder Softwareentwicklung zu tun haben.
Ich wünsche allen Lesern viel Spaß und hin und wieder einen kleinen AHA!-Effekt...
PS: Meine öffentlichen Codeberg-Repositories findet man hier.