Wenn dies Ihr erster Besuch hier ist,
lesen Sie bitte zuerst die Hilfe - Häufig gestellte Fragen
durch. Sie müssen sich vermutlich registrieren,
bevor Sie Beiträge verfassen können. Klicken Sie oben auf 'Registrieren', um den Registrierungsprozess zu
starten. Sie können auch jetzt schon Beiträge lesen. Suchen Sie sich einfach das Forum aus, das Sie am meisten
interessiert.
Ich meine die daten, die in verschiedenen tabellen(nicht die struktur der Tabellen) der gdb datei gespeichert werden. Anders Ausgedrückt die einzelne zeilen der Tabellen. Die Daten sollen nur von einer anwendung aus veröffentlich und geändert werden können!
Das Betriebsystem ist zur Zeit WinNT aber es können auch andere win Familie in Betracht kommen.
Man kann natürlich die einzelne Datensätze kodieren dies will ich zur zeit noch nicht.
Kann man den Password der SysDBA fuer ein gdb ändern?
mfg A. Parasi
Das was Du vorhast geht nicht. Wenn das aber Unternehmensziel ist könnte man, das wäre die saubere Lösung, das SYSDBA Passwort ändern und das bekommt auch nur der SYSDBA, der kann dann allerding wie auf allen System auch alles sehen. Und für die verschiedenen Anwendungen eigene Benutzer anlegen, die auch die Tabellen anlegen und dann das ganze über Grant und Revoke regeln
Wir standen vor einem ähnlichem Problem. Da Interbase Open-Source ist, könnte es durchaus vorkommen, daß beim Kunden bereits Interbase installiert ist. SYSDBA sollte jedoch keinen Zugriff (er kann sich bei unserer Datenbank nicht anmelden) auf unsere Datenbank haben. Nach langer Suche im Internet und in den Newsgroups fanden wir folgenden Lösung. Im Prinzip muß "nur" eine ROLLE mit dem Namen "SYSDBA" erzeugt werden. CREATE ROLE SYSDBA funktioniert leider nicht. Daher muß man das Ganze direkt auf den Systemtabellen machen. 2 Möglichkeiten: INSERT INTO RDB$ROLES('SYSDBA', NULL) od. INSERT INTO RDB$ROLES('SYSDBA', 'MYUSER'). Mit der ersten Möglichkeit wird SYSDBA für immer von der Datenbank ausgeschlossen. Bei der zweiten Möglichkeit hat der USER MYUSER die Möglichkeit über DROP ROLE SYSDBA die Rolle wieder zu entfernen.
bei meine Test bekomme ich leider nur einen Fehler <br>
SQL error code = -104<br>
Unexpected end of command<br>
Statement: insert into RDB$Roles('SYSDBA','MEIER')<br>
IB 6.01,IBCONSOLE 1.0.0.338<br>
was mache ich FALSCH?<br>
Leider kann man durch einfaches Patchen der GDB mit einem
Hexeditor die Role wieder z.B. zu SYSDBX verändern
(Letztes Auftreten von SYSDBA in der Datei), das stört
Interbase überhaupt nicht. Nach dem Patchen kann der SYSDBA
wieder munter an die Daten ran.
Wenn man ein Datenbanksystem beim Kunden einrichtet, ist es logisch,d aß dies beim Kunden einer Administrieren kann (zumindestens prinzipiell) Damit wird dann vieles möglich.
Daher stelle man sie die Fragen
a) Was passiert wenn der Kunde manipuliert
b) Hat der Kunde überhaupt die technische Kompetenz zum manipulieren
c) Zudem liegen in einer Datenbank View Definitionen, Trigger und Porceduren übersetzt und im QuellText in den rdb$Tabellen. Den Quelltextteil kann man wohl löschen ohne das es zur Laufzeit probleme gibt. (**ohne Garantie**). MetadatenUpdates sind dann vermutlich nicht mehr drin
Comment