PDA

View Full Version : Remote SQL



Sebastian85
23-05-17, 12:54
Hallo.

Wir hatten letztens eine SQL-Schlung und haben dabei erfahren, dass man mit unserer V7R2 SQL Abfragen Systemübergreifend verwenden können.

Den entsprechenden Einstellungen sind in den RDB-Verzeichnis gepflegt.
379
Die Remote SQL-Abfragen auf den SysBas funktioniert auch.
z.B. test.qsys2.sysprocs
Jedoch haben wir an jedem Testsystem, einen IASP hängen, worin sich die produktiven Daten befinden.

Kann mit Remote SQL auf den ISAP eines anderen Systems zugegriffen werden?

Fuerchau
23-05-17, 14:16
Die SQL-Syntax benötigt einen LIB-Namen.
Mit IASP's geht es dann, wenn er angehängt ist, da der SQL-Serverjob den SQL-Dienst übernimmt.
Solange man den ADDRDBDIRE um einen IASP nicht ergänzen kann ist es ein Problem.
Ggf. kann man ja eine Prozedur auf dem Zielsystem erstellen, die die IASP-Steuerung (anhängen, abhängen) übernimmt, trivial wird das dann nicht.
Dasselbe gilt doch auch für ODBC-Zugriffe zum lokalen System.

Sebastian85
23-05-17, 14:36
Vielen Dank für diese Info.
Mit ADDRDBDIRE wurde eine neue Verbindung zusätzlich zum IASP eingerichtet und es funktioniert.
Das Wissen, das eine zusätzliche Verbindung zum IASP benötigt wird, hatte ich nicht. Ich war der Meinung, die zum fernen System würde reichen.
Vielen Dank.

Fuerchau
23-05-17, 19:54
Das I steht für independend. Also muss es ja irgendwie gehen.
Nur wäre nett, wenn du das noch dokumentieren könntest, denn beim ADDRDBDIRE (V7R1) finde ich nichts dazu.
Insofern ganz nett, da man SQL-technisch so mit beliebig vielen IASP's umgehen kann.

BenderD
24-05-17, 09:54
... du gibst doch beim ADDRDBDIRE Adresse und Name der Datenbank an...

Fuerchau
24-05-17, 10:27
Da ich mich mit IASP (mangels Gelegenheit) nochnicht beschäftigt habe, zielte meine Frage darauf hin, wie genau der ADDRDBDIRE denn dann aussieht.
Ich kann hier dann nur vermuten, dass das Zielsystem dann in der Form "SYSTEM.IASPNAME" angegeben werden könnte. Auch in F1 finde ich nichts.
Und (wie immer), wenn dann mal einer das selbe Problem hat findet er/sie ggf. diesen Beitrag oder ich finde ihn dann für ihn/sie.

BenderD
24-05-17, 10:38
... auf dem System, wo der IASP local (angehängt ist), heißt der RDBDIRE so wie der ISAP und verweist auf loopback. Auf dem System, von dem du connecten willst, braucst Du einen RDBDIRE, der den IASP des remote systems adressiert. Beim connect verwendest Du dann - wie immer - den Namen des lokalen Systems. Namensgleichheiten lassen sich per Alias Angabe beim ADDRDBDIRE umgehen.

D*B

Fuerchau
24-05-17, 10:57
Nachdem ich nun das Redbook gefunden habe sehe ich, dass beim Anhängen eines IASP wohl automatisch ein lokaler RDB-Name erstellt wird mit dem man sich Remote dann verbinden kann (Ziel-IP/Name, Ziel-RDB-Name).
Ich dachte es wäre in soweit einfacher, dass man dann Namenskonflikte der Libs zwischen System und IASP auf diesem Wege lösen könnte, dem scheint aber nicht so zu sein.