Wo kann ich Informationen darüber finden, wie Oracle die Kommunikation mit der Datenbank auf der untersten Ebene, d.h. auf der Ebene der Sockets, durchführt? Ich möchte ein Programm schreiben (ohne jdbc), das einfach eine Anweisung ausführt (select oder create). Ich muss also wissen, welches Protokoll Oracle dafür verwendet.
Antworten
Zu viele Anzeigen?Warum sollten Sie JDBC dafür abschaffen wollen/müssen? Das ist genau der Grund, warum es JDBC gibt, und warum Oracle JDBC-Treiber für seine Datenbanken bereitstellt. Selbst wenn es eine Low-Level-Protokolldokumentation für das, was Sie vorhaben, gäbe, hätten Sie keine Garantie, dass es zwischen verschiedenen Oracle-Versionen usw. portabel ist.
Ich gehe von der Annahme aus, dass Sie eine Installation des Oracle-Clients vermeiden wollen. Wenn dies der Fall ist, stellen Sie sicher, dass Sie die Typ 4 JDBC-Treiber oder Oracles "Thin"-Treiber - verfügbar unter http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-112010-090769.html . Damit wird genau das erreicht, was Sie wahrscheinlich erreichen wollen - eine Verbindung zur Oracle-Datenbank über reines Java, ohne dass weitere Software installiert werden muss - obwohl es sich technisch gesehen immer noch um JDBC handelt.
Wenn Sie immer noch darauf bestehen, ohne Oracle-Client-Komponenten fortzufahren (selbst wenn Sie nur den Oracle Typ 4 JDBC-Treiber verwenden), finden Sie hier einige weitere Links, die von Interesse sein könnten:
Wo kann ich die Wire-Level Protocol Specification von Oracle erhalten?
O Außer Oracle bieten nur einige wenige Anbieter von Wire-Level-Treibern diese Lösung an. Ebenso ist Oracle im Gegensatz zu den Treiberanbietern der einzige, der Erlaubnis, es zu vertreiben. Und, bevor Sie fragen, ich habe die Spezifikation selbst noch nie gesehen. Mein gesamtes Wissen über das Protokoll basiert auf jahrelanger auf jahrelanger Forschung und einer Menge Versuch und Irrtum.
Dieses Projekt ist (war) verfügbar unter http://sourceforge.net/projects/sibylnet/ , wurde aber seit dem 07.10.2008 nicht mehr aktualisiert und verfügt über keinerlei Dateien oder Quellcode.
Sie können einen Blick in die Dokumentation von Oracle zum Oracle Call Interface . Es ist für die Verwendung mit C, nicht Java, aber wenn Sie es in einige Java Native Interface Zeug gewickelt könnten Sie in der Lage sein, zu trainieren, wie man es aufrufen.
Ich sage nicht, dass es schmerzlos wäre, aber ... es ist ein Weg, den man versuchen kann.
/b