Willkommen bei Entwickler-Forum.
Ergebnis 1 bis 3 von 3
  1. #1
    Zaungast
    Registriert seit
    26.01.2009
    Beiträge
    13

    Standard no permission for read/select access to Table RDB$Character_Sets

    Hallo,
    ich bekomme neuerdings einen EIBCError in Module IBDAC160.bpl at 0001c2d4:
    no permission for read/select access to Table RDB$Character_Sets.
    Ich nutze Delphi XE2 (win32) mit Firebird Server 2.5
    Rolf

    P.S. IBDac ist ok, der Fehler solte in Firebird liegen.

  2. #2
    Aufsteiger
    Registriert seit
    16.05.2009
    Ort
    Karlsruhe
    Beiträge
    61

    Standard

    Zitat Zitat von rolf912 Beitrag anzeigen
    P.S. IBDac ist ok, der Fehler solte in Firebird liegen.
    Nicht zwangsläufig, denn die Meldung besagt nichts anderes als fehlende Rechte für die Bearbeitung einer Tabelle. Denselben Fehler erhielt ich mehrfach, nachdem ich eine Datenbank einfach via Copy & Paste dupliziert hatte, um daraus eine neuere Version zu machen. Nachdem ich einige Tabellen eingefügt und diese im Delphi-Programm (ebenfalls mit IbDac, jedoch mit D2009) getestet hatte, erhielt ich diesen Fehler, wenn ich auf ältere Tabellen zugreifen wollte. Der Hintergrund: Ich hatte der neuen Version eine neue Benutzer-Passwort-Kombination verpaßt und konnte mit diesem Benutzer eben nur jene Tabellen bearbeiten, die ich mit diesem Benutzer auch angelegt hatte. Abhilfe schuf ein Backup-Restore-Zyklus, wobei ich beim Restore die neue Benutzer-Passwort-Kombination angegeben habe. Inzwischen habe ich mir außer bei reinen Sicherheitskopien angewöhnt, grundsätzlich nur noch mit Backup&Restore zu arbeiten.

    Siehe z.B. auch: firebird user with granted privileges cannot access tables

    Einen anderen Fall gab es vor 1 1/2 Jahren in der Entwicklerecke, wo ein Trusted-Authentication-Zugriff (also ohne Passworteingabe) denselben Fehler erzeugte, wie ich nach dem Studium des Logfiles herausfinden konnte:

    Dann hab ich mir jetzt mal das Logfile angeschaut, das du hier gepostet hast. Dort steht u.a.: params="trusted_auth.
    Das bedeutet, daß die Authentifizierung nicht über Username/Passwort geschieht, sondern über den jeweiligen Windows-User, also bei dir:
    TFDConnection.Params.OSAuthent = True
    Das heißt dann, daß der Windows-User, der auf Rechner 1, wo die DB problemlos geöffnet werden kann, auf Rechner 2 nicht existiert. Mit ziemlich hoher Wahrscheinlichkeit hat die Trusted Authentication Vorrang vor der Authentifizierung via Username und Passwort, weshalb deine DB auf Rechner 1 mit dem Usernamen des Windows-Users erstellt wird und nicht mit der von dir in den Konstanten angegebenen Username-Passwort-Kombination. Deshalb funktioniert das auch auf anderen Rechnern nicht. Dieses Parameter-Property steht defaultmäßig auf false. Offenbar hast du das auf true gestellt, ohne zu wissen, was du da genau machst. Wenn du das nun änderst, müßte es eigentlich gehen.


    In deinem Fall greifst du auf eine Systemtabelle zu, wofür womöglich ein Admin-Passwort notwendig wäre. Das weiß ich aber nicht genau, weil sich mir noch nie die Notwendigkeit stellte, mit den Systemtabellen zu arbeiten.

    Google liefert selbstverständlich noch viele weitere Suchergebnisse.
    Die Tränen, die du nicht weinen willst, müssen andere für dich vergießen. (Frei nach: wer nicht leiden will, muß hassen.)

  3. #3
    Zaungast
    Registriert seit
    26.01.2009
    Beiträge
    13

    Standard

    Backup / Restore hilft.

    Danke!

 

 

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •