JDBC simulieren

Status
Nicht offen für weitere Antworten.

fuexli81

Mitglied
Hallo zusammen

Ich habe folgendes Problem: ich bin Server bzw. eine Datenbank und erhalte Anfragen von Clients, die per Definition vorgegeben sind. Ich muss die Anfragen bearbeiten.

Nun will ich die Anfragen erhalten und diese dann nach meinem Gusto bearbeiten. Konkret erhalte ich Stored Procedure-Calls, welche ich jedoch nicht ausführen kann, da nicht die gesammte Datenbank bei mir abgebildet ist. Ich muss die Anfrage also sehen (am liebsten Plaintext) und diese dann manuell analysieren und je nach dem z.B. mit Standardantworten reagieren.

Hat jemand eine Idee wie ich so etwas machen kann? Ich glaube Mock-Objekte helfen da nichts, da diese nur auf Clientseite eingesetzt werden können.
Wahrscheinlich benötige ich einen eigenen JDBC-Connector oder? Weiss jemand wo ich dazu Dokumentation finde? Oder hat vielleicht sogar schon einmal jemand so etwas gemacht??

Danke & Grüsse!
 

KSG9|sebastian

Top Contributor
Nun ja, das sieht mir nach ner reichlich schlechten Architektur vom Programm aus, oder etwa nicht?
Gibt es feste Kriterien mit denen du die Anfragen unterscheiden kannst, b.s.p.

call auf Tabelle x -> weiterleiten an Server 1
call auf Tabelle y -> weiterleiten an Server 2

gruß
 

fuexli81

Mitglied
Nee, es ist so, dass ich einen Simulator schreiben muss, der eine ganze Menge darunterliegende Systeme simuliert. Ich habe keinen Einfluss auf die Architektur.

Und noch zur Frage: es ist egal welche Anfragen dass kommen (oder auf welche Tabelle sie gehen würden), ich will sie alle einfach manuell verarbeiten können. Eigentlich will ich einen Server schreiben, der einen Stream z.B. in ein Logfile schreibt. Nur muss der Streamserver auf JDBC-Art angesprochen werden können, da ich eine Datenbank simuliere...:)
 

bronks

Top Contributor
fuexli81 hat gesagt.:
Nee, es ist so, dass ich einen Simulator schreiben muss, der eine ganze Menge darunterliegende Systeme simuliert. Ich habe keinen Einfluss auf die Architektur.

Und noch zur Frage: es ist egal welche Anfragen dass kommen (oder auf welche Tabelle sie gehen würden), ich will sie alle einfach manuell verarbeiten können. Eigentlich will ich einen Server schreiben, der einen Stream z.B. in ein Logfile schreibt. Nur muss der Streamserver auf JDBC-Art angesprochen werden können, da ich eine Datenbank simuliere...:)
Schnapp Dir einfach einen OpenSource JDBC-Treiber und wirf einen genauen Blick rein. Danach wirst Du schon wissen wo es lang geht.
 

fuexli81

Mitglied
Ich hab mir den Mysql-JDBC-Connector geschnappt... das ist aber ein riesen Haufen Code... kennt jemand noch einen etwas kleineren??
 

fuexli81

Mitglied
Eine ganz andere Frage: ist es möglich auf der Server-Seite einfach ein Socket hinzustellen, dass auf einen entsprechenden Port hört? Kriege ich in diesem Socket dann irgend ein Datenstream der Anfragen?

Kurz meine Vorstellung:
Client macht seine Anfrage wie folgt:
Code:
Connection conn = getConnection("jdbc:oracle:thin:@host:1521:dbname", "user_name", "<pw>");
CallableStatement cs1 = conn.prepareCall ("begin lqs_unitydb_v10.check (:1,:2); end;");

Serverseitig: hier wartet ein TCP-Socket dass auf Port 1521 hört. Wenn nun der Client eine Anfrage abschickt, was kommt dann auf dem Server raus? Ist so eine Verbindung von JDBC auf Socket überhaupt möglich?? Sehe ich beim Server irgendetwas? Und kann ich vielleicht in dem Socket die Plaintext-Anfrage rausholen?

Danke!
 

bronks

Top Contributor
fuexli81 hat gesagt.:
Eine ganz andere Frage: ist es möglich auf der Server-Seite einfach ein Socket hinzustellen, dass auf einen entsprechenden Port hört? Kriege ich in diesem Socket dann irgend ein Datenstream der Anfragen?

Kurz meine Vorstellung:
Client macht seine Anfrage wie folgt:
Code:
Connection conn = getConnection("jdbc:oracle:thin:@host:1521:dbname", "user_name", "<pw>");
CallableStatement cs1 = conn.prepareCall ("begin lqs_unitydb_v10.check (:1,:2); end;");

Serverseitig: hier wartet ein TCP-Socket dass auf Port 1521 hört. Wenn nun der Client eine Anfrage abschickt, was kommt dann auf dem Server raus? Ist so eine Verbindung von JDBC auf Socket überhaupt möglich?? Sehe ich beim Server irgendetwas? Und kann ich vielleicht in dem Socket die Plaintext-Anfrage rausholen?

Danke!
@fuexli81:
Lausch mal am Port ... Schon am Handshake wird es scheitern ...

Du mußt einen JdbcTreiber zerlegen und eine Schicht gegen das austauschen, was mit Deinem Simulator kommuniziert.
 
G

Guest

Gast
Suche mal nach P6Spy + IronTrack SQL

P6Spy wird als JDBC-Treiber verwendet, leitet alles an den eigentlichen Treiber weiter und
loggt das ganze JDBC Hin und Her. Der "richtige" Treiber wird über eine Konfigurationsdatei
eingestellt. Es funktioniert ähnlich wie eine Proxyserver oder Relayserver bei HTTP.
IronTrack SQL ist ein Viewer für diese Loggs. Wenn du den Verbindungsaufbau nicht gerade
fest im Code stehen hast, ist keine Änderung im Code nötig, um es zu verwenden.
 

fuexli81

Mitglied
hey super - vielen dank! ich werd mir das auf jedenfall mal zu gemüte führen, denn so wie du das beschreibst ist das genau das was ich suche!
vielen dank & grüsse!
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
OnDemand JDBC Client Spring: Pool läuft voll Datenbankprogrammierung 6
B SQLite + jdbc + IntelliJ-Consumer = "No suitable driver found..." Datenbankprogrammierung 15
J PC-Start Problem JDBC Connection Datenbankprogrammierung 10
N JDBC SQLITE und Cascading Datenbankprogrammierung 2
D Asynchrone Aufrufe mit jdbc Datenbankprogrammierung 5
Edin JDBC Hilfe Datenbankprogrammierung 2
H JDBC Tabellen ausgeben Datenbankprogrammierung 8
Husamoli345 JSF-JDBC Verbindung Crud Datenbankprogrammierung 15
G MySQL JDBC Metadaten auslesen aus .accdb -> Primärschlüssel manchmal erkannt manchmal nicht Datenbankprogrammierung 3
N Java, sql, jar, JDBC-Treiber in Classpath Datenbankprogrammierung 8
O Create Table per JDBC Fehler: ORA-00922 Datenbankprogrammierung 4
J JDBC anschaulich präsentieren Datenbankprogrammierung 2
Thallius MySQL JDBC auf Linux Server zu mySQL DB auf anderem Linux Server wirft Access denied Datenbankprogrammierung 5
ralfb1105 Oracle JDBC Debugging Datenbankprogrammierung 8
Z [JDBC][MYSQL] Access denied Datenbankprogrammierung 7
Thallius MySQL jdbc schließt Verbindung nach vielen Request von selber Datenbankprogrammierung 8
B MySQL JDBC Kommentarfilter Datenbankprogrammierung 4
Aruetiise MySQL Name JDBC Drive finden Datenbankprogrammierung 4
E Sqlite-jdbc Mitliefern Datenbankprogrammierung 4
R jdbc-Zugriff Nicht erlaubt ? Datenbankprogrammierung 16
S probleme mit dem jdbc treiber Datenbankprogrammierung 1
Thallius MySQL Merkwürdiges JDBC Verhalten bei VPN Verbindung. Datenbankprogrammierung 7
O JDBC Daten in zwei Tabellen mit zwei foreach-Schleifen einfügen (insert into) Datenbankprogrammierung 1
F MySQL JDBC Problem Datenbankprogrammierung 5
C JDBC und SQLite Datenbank Datenbankprogrammierung 8
looparda SQLite Active JDBC Abstraktion Datenbankprogrammierung 2
J JDBC SQL Statement mit Parameter Datenbankprogrammierung 7
S JDBC PreparedStatement durchiterieren Datenbankprogrammierung 6
J RESTServie + JDBC + No suitable driver found for jdbc Datenbankprogrammierung 4
KaffeeFan JDBC/ODBC-Bridge entfernt Datenbankprogrammierung 4
S sun.jdbc.odbc.JdbcOdbcDriver wird nicht gefunden Datenbankprogrammierung 2
J Fehlende DatenbankView nach einbeziehen von JDBC Datenbankprogrammierung 3
A Mit JDBC auf postgreSQL Datenbank zugreifen Datenbankprogrammierung 5
C PostgreSQL JDBC + PostgreSQL: getLong liefert 0 statt NULL Datenbankprogrammierung 2
flenst111 SQL-Statement Wie konfiguriert man JDBC-Connect.richtig, damit es bei riesigen Tabs keinen Speicherüberlauf gibt? Datenbankprogrammierung 1
M JDBC Tabellen mit Boolean Spalten können nicht erstellt werden. DB Updaten - wie? Datenbankprogrammierung 6
S JDBC mit Postgres DB connecten Datenbankprogrammierung 3
A Eine MySQL Zeile mit JDBC löschen Datenbankprogrammierung 5
D JDBC - Verständnisfrage Datenbankprogrammierung 2
C Tabelle erstellen mit Apache JDBC-Util Datenbankprogrammierung 1
L Conversion-Error bei JDBC Date Literals Datenbankprogrammierung 3
X MySQL DB-verbindung ohne JDBC/ODBC Datenbankprogrammierung 1
F sun.jdbc.odbc.jdbcodbcdriver wird nicht gefuden Datenbankprogrammierung 3
J Keine Verbindung zu MSSQL DB mit JDBC Datenbankprogrammierung 3
U JDBC prepaird Statements Datenbankprogrammierung 4
B MySQL JDBC Zugriff auf entfernt Datenbank, fehlende Rechte Datenbankprogrammierung 2
Q MySQL JDBC-Treiber Problem Datenbankprogrammierung 2
R Transaktionen von mehreren Anwendungen aus - JDBC Datenbankprogrammierung 3
N MySQL com.microsoft.sqlserver.jdbc.SQLServerException: Die Verbindung wurde geschlossen. Datenbankprogrammierung 1
N JDBC: rollback() bei Exception geht nicht!? Datenbankprogrammierung 1
C Dateipfad des jdbc Treibers Datenbankprogrammierung 2
G JDBC Connect nur über SID fehlerfrei möglich Datenbankprogrammierung 2
R Oracle jdbc Zugriff auf Oracle Datenbankprogrammierung 2
T JDBC Fehler Datenbankprogrammierung 2
J JDBC via Singleton Datenbankprogrammierung 12
Z PostgreSQL JDBC mit Postgresql Datenbankprogrammierung 2
B No suitable driver found for jdbc:oracle:thin:@$HOST:$PORT:$SID Datenbankprogrammierung 7
K JDBC via Netzwerk Datenbankprogrammierung 4
G JDBC Connection Fehler Datenbankprogrammierung 8
K JDBC- In Java "stored procedure" erstellen für DB2,OracleSql ... Datenbankprogrammierung 3
J JDBC in Library|"Treiber konnte nicht geladen werden"" Datenbankprogrammierung 2
B JDBC-Connection: Data source name too long Datenbankprogrammierung 3
D JDBC insert mit select abfrage Datenbankprogrammierung 5
A JDBC Prepared Statement Autoincrement Datenbankprogrammierung 3
H JDBC prüfen ob Table existiert Datenbankprogrammierung 3
crashfinger jdbc-connection mit jre7 funktioniert nicht Datenbankprogrammierung 5
0 JDBC Oracle Verbindungsaufbau Datenbankprogrammierung 6
Q Oracle Linux: ClassNotFoundException: oracle.jdbc.driver.OracleDriver Datenbankprogrammierung 6
B JDBC MySQL Statement Datenbankprogrammierung 3
F Oracle Oracle JDBC Anbindung unter Glassfish 3.1.2 Datenbankprogrammierung 3
V PostgreSQL JDBC Treiber fehlt Datenbankprogrammierung 6
Y JDBC - Datenbankabfrage Webserver Datenbankprogrammierung 4
C JDBC Datenbank funktioniert nicht Datenbankprogrammierung 7
C JDBC , JDO oder JPA Datenbankprogrammierung 17
J MySQL Datenbank konfigurieren, JDBC, MySQL oder Hibernate Datenbankprogrammierung 2
P JDBC Verbindung zur DB klappt nicht Datenbankprogrammierung 6
J Java - JDBC Verbindung zur Datenbank nicht möglich Datenbankprogrammierung 10
K JDBC Buch kaufen? Datenbankprogrammierung 3
K Hibernate vs. JDBC Datenbankprogrammierung 4
K JDBC Driver not found Datenbankprogrammierung 10
GianaSisters Per JDBC auf Microsoft SQL 2005 Datenbankprogrammierung 24
S ich brauche tipps für JDBC Datenbankprogrammierung 4
Paristick MSSQL - JDBC Exception beim Registrieren Datenbankprogrammierung 5
S Applet stucks at SQL Connection (jTDS JDBC) Datenbankprogrammierung 15
R MySQL Voraussetzungen für eine erfolgreiche Datenbankanbindung mittels JDBC Datenbankprogrammierung 2
c_sidi90 JDBC Oracle Connection schlägt fehl Datenbankprogrammierung 2
J jdbc-dataSource in Klassen nutzen Datenbankprogrammierung 2
H Rechnen in Datenbanken - JDBC Mittel der Wahl? Datenbankprogrammierung 32
K MySQL JDBC - Access Datenbank - unbekannter TabellenName Datenbankprogrammierung 4
D JDBC Fehler beim laden der nativen Bibliothek db2jcct2 Datenbankprogrammierung 9
J MySQL Verbindung über JDBC scheitert immer Datenbankprogrammierung 2
I Master/Detail Tabellen mit JDBC und Swing Datenbankprogrammierung 10
S MSSQL JDBC "Driver class not found" Datenbankprogrammierung 9
E Datenbankverbindung mit Oracle JDBC und Eclipse Plugin Quantum db Datenbankprogrammierung 2
ruutaiokwu jdbc connection als singleton Datenbankprogrammierung 11
J MySQL Löschen von Rows mit JDBC Datenbankprogrammierung 9
G JDBC Exception Datenbankprogrammierung 3
Screen Ich suche eine SQLDatenbank ohne JDBC-Treiber Datenbankprogrammierung 12
F Fehlerhandling bei JDBC Datenbankprogrammierung 9
T JDBC und Arrays Datenbankprogrammierung 7

Ähnliche Java Themen

Neue Themen


Oben