PDA

View Full Version : Berechtigungen auf View´s vergeben



DEVJO
15-12-10, 06:15
Moin moin,

wir haben einige SQL-Tables auf unserer Maschine und würden gerne die Berechtigungen zum Zugriff auf die Tables mit View´s regeln.
Kann mir jemand verraten wie das funktioniert?
Ich kann mit GRANT für die eigentliche Table Berechtigungen vergeben, aber die View wird mir gar nicht angezeigt (per STRSQL).

BenderD
15-12-10, 06:58
... grant select on myview to someUser
prompten müsste eigentlich auch gehen:
grant
F4
2 (Table)
F4 (auf Tabelle)
...

D*B


Moin moin,

wir haben einige SQL-Tables auf unserer Maschine und würden gerne die Berechtigungen zum Zugriff auf die Tables mit View´s regeln.
Kann mir jemand verraten wie das funktioniert?
Ich kann mit GRANT für die eigentliche Table Berechtigungen vergeben, aber die View wird mir gar nicht angezeigt (per STRSQL).

DEVJO
14-01-11, 10:59
Jetzt ergibt sich noch ein anderes Problem.
Ich habe eine bestehende DDS in ein SQL Table umgewandelt, mit neuem Namen. Jetzt brauche ich darauf einen Index, damit die alten Programme nicht alle umgeschrieben werden müssen. Berechtigungen kann ich aber nur auf Views vergeben. Allerdings kann ich bei einer View keine Schlüsselfelder angeben.
Gibt es da vielleicht eine Lösung an die ich noch nicht gedacht hab, oder ich net kenne?

BenderD
14-01-11, 11:07
.. V7R1 (V6 müsste man nachsehen) erlaubt beim Create View einen full select (also auch order by) - wäre ich aber vorsichtig mit.
Was auch noch geht is eine DDS LF auf die SQL Table definieren und für diese LF dann die Berechtigungen im OS/400mit GRTOBJAUT vergeben.

D*B


Jetzt ergibt sich noch ein anderes Problem.
Ich habe eine bestehende DDS in ein SQL Table umgewandelt, mit neuem Namen. Jetzt brauche ich darauf einen Index, damit die alten Programme nicht alle umgeschrieben werden müssen. Berechtigungen kann ich aber nur auf Views vergeben. Allerdings kann ich bei einer View keine Schlüsselfelder angeben.
Gibt es da vielleicht eine Lösung an die ich noch nicht gedacht hab, oder ich net kenne?

Fuerchau
14-01-11, 13:28
Ein "Create Index" erstellt auch eine LF, die native mit RPG/LE gelesen werden kann. Nur der Formatname muss angepasst werden.

Allerdings unterstützt SQL keinen Join-Index!

BenderD
14-01-11, 13:57
... dann hat man aber nicht die Mächtigkeit von create view oder DDS und granteln kann man da auch nicht.

D*B


Ein "Create Index" erstellt auch eine LF, die native mit RPG/LE gelesen werden kann. Nur der Formatname muss angepasst werden.

Allerdings unterstützt SQL keinen Join-Index!

Fuerchau
14-01-11, 14:16
Nunja, die xxxOBJAUT-Befehle funktionieren da aber noch :rolleyes:.

B.Hauser
14-01-11, 14:31
In SQL kann ein Index nicht explizit angegeben werden, sondern wird lediglich vom Optimizer verwendet um einen schnelleren Zugriff auf die Daten zu erhalten.

Aus diesem Grund ist es nicht erforderlich für einen Index spezielle Rechte zu vergeben.

Allerdings kann, wie Baldur sagt ein SQL Index mit native I/O mit RPG verarbeitet werden. Wenn also dafür Berechtigungen benötigst: Ein SQL Index ist auch nur eine logische Datei, bei der man Berechtigungen mit CL-Befehlen setzen kann.
Vergibt man Rechte mit CL-Befehlen, muss beim erneuten Erstellen des Indices, die Berechtigung neu gesetzt werden. Also merken oder im SQL Skript, das den Index erstellt hinterlegen.

Birgitta