AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Firebird: Update in Table A benötigt Rechte für Table B

Firebird: Update in Table A benötigt Rechte für Table B

Ein Thema von Gloegg_FHBI · begonnen am 2. Feb 2015 · letzter Beitrag vom 2. Feb 2015
Antwort Antwort
Benutzerbild von Gloegg_FHBI
Gloegg_FHBI

Registriert seit: 28. Nov 2006
Ort: Neuss
46 Beiträge
 
Delphi 10 Seattle Professional
 
#1

Firebird: Update in Table A benötigt Rechte für Table B

  Alt 2. Feb 2015, 11:26
Datenbank: Firebird • Version: 2.x • Zugriff über: IBQuery
Hallo,

Ich habe ein mysteriöses Phänomen in einer unserer Datenbanken.

Dort gibt es u.a. diese beiden Tabellen:

USER_PRO
Code:
CREATE TABLE USER_PRO (
  ID INTEGER NOT NULL,
  "NAME" VARCHAR(30),
  PASSWORT VARCHAR(30),
  PROJECT VARCHAR(50),
  HAUPTUSER SMALLINT,
  NURLESEN SMALLINT,
  DATENBANK VARCHAR(1));


ALTER TABLE USER_PRO ADD PRIMARY KEY (ID);
und

ZZ_AUD_VISIT_PRO
Code:
CREATE TABLE ZZ_AUD_VISIT_PRO (
  O_ID INTEGER,
  N_ID INTEGER,
  O_PROJECT VARCHAR(50),
  N_PROJECT VARCHAR(50),
  O_SORTORDER INTEGER,
  N_SORTORDER INTEGER,
  O_VISIT VARCHAR(50),
  N_VISIT VARCHAR(50),
  O_CHGLG_ID INTEGER,
  N_CHGLG_ID INTEGER,
  O_VISIT_VALUE VARCHAR(200),
  N_VISIT_VALUE VARCHAR(200),
  AUSER VARCHAR(20),
  AFIELD VARCHAR(20),
  ADATE TIMESTAMP,
  AID INTEGER,
  CONN_ID INTEGER);
ZZ_AUD_VISIT_PRO ist die Audit Trail Tabelle der Tabelle VISIT_PRO d.h. es werden alle Änderungen an VISIT_PRO in ZZ_AUD_VISIT_PRO per DB-Trigger dokumentiert.
USER_PRO hat ebenfalls eine eigene Audit Trail Tabelle mit einem eigenen Satz Trigger.

Die DB-User haben für normale Tabellen alle Rechte (SELECT, INSERT, UPDATE, DELETE, REFERENCE).
Für Audit Trail Tabellen haben sie lediglich (SELECT, INSERT, REFERENCE)

Wenn man nun dieses SQL ausführt:
Code:
UPDATE USER_PRO SET DATENBANK = 'T' WHERE ID = 4886
bekommt man diesen Fehler:
This user does not have privilege to perform this operation on this object.No permission for update/write access to COLUMN USER_PRO.DATENBANK.

Bekommt der User das UPDATE-Recht für die ZZ_AUD_VISIT_PRO, wird das Update korrekt ausgeführt.

Warum gibt es da diese Abhängigkeit?

Die Trigger wurden hier schon von mehr als zwei Paar Augen überprüft, die machen lediglich ein INSERT in ihre jeweiligen Audit Trail Tabelle.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Firebird: Update in Table A benötigt Rechte für Table B

  Alt 2. Feb 2015, 11:32
Trigger werden im selben Kontext ausgeführt, wie die Statements, welche diese auslösen.
Markus Kinzler
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:12 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz