AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Fehler beim CREATE DATABASE wenn man nicht SYSDBA ist

Fehler beim CREATE DATABASE wenn man nicht SYSDBA ist

Ein Thema von MyRealName · begonnen am 11. Okt 2016 · letzter Beitrag vom 11. Okt 2016
Antwort Antwort
Benutzerbild von MyRealName
MyRealName

Registriert seit: 19. Okt 2003
Ort: Heilbronn
673 Beiträge
 
Delphi 10.4 Sydney
 
#1

Fehler beim CREATE DATABASE wenn man nicht SYSDBA ist

  Alt 11. Okt 2016, 14:45
Datenbank: Firebird • Version: 3 • Zugriff über: UniDAC
Hallo,

vielleicht weiss einer die Antwort :

Ich versuche, eine vorhandene Datenbank, wo alles dem SYSDBA gehört (wurde so erstellt und man verbindet intern mit SYSDBA von Delphi aus, bitte keine Diskussion darüber, ich habe das Projekt so übernommen und versuche es gerade von Grund her zu fixen. Vorher hat das programm nur Verbindugen zugelassen mit SYSDBA und masterkey, das habe ich schon als erstes vor einiger Zeit geändert), auf einen erstellten Nutzer zu übertragen. Das alles unter einem neu installierten Firebird 3.

Wenn ich das DB script ausführen will, kriege ich einen Fehler, dass dem User die CREATE DATABASE Option fehlt...

'no permission for CREATE acces to DATABASE F:\DB\CDA.fdb'

Ideen ?

Helge
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.099 Beiträge
 
Delphi 12 Athens
 
#2

AW: Fehler beim CREATE DATABASE wenn man nicht SYSDBA ist

  Alt 11. Okt 2016, 14:52
Ich wüdre dem Benutzer (der grade eingeloggt ist) einfach die nötigen Berechtigungen geben, da er sie ja scheinbar benötigt.
alter user ... grant ...

http://www.delphipraxis.net/101252-f...icherheit.html
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von MyRealName
MyRealName

Registriert seit: 19. Okt 2003
Ort: Heilbronn
673 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Fehler beim CREATE DATABASE wenn man nicht SYSDBA ist

  Alt 11. Okt 2016, 15:02
das ist ja die Frage,.. grant was genau ?
  Mit Zitat antworten Zitat
Benutzerbild von DelphiBandit
DelphiBandit

Registriert seit: 19. Feb 2007
Ort: bei Walsrode
165 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Fehler beim CREATE DATABASE wenn man nicht SYSDBA ist

  Alt 11. Okt 2016, 15:11
Ich habe zwar selbst noch nicht damit gearbeitet, aber das hier wäre glaube ich ein brauchbarer Ansatz

Special form for database access
Code:
GRANT CREATE DATABASE TO [USER | ROLE] <user-name> | <role-name>;
Quelle: http://firebirdsql.org/file/document...ccess-sql.html
Carsten
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#5

AW: Fehler beim CREATE DATABASE wenn man nicht SYSDBA ist

  Alt 11. Okt 2016, 15:30
Naja, das Ganze ist ja etwas Henne/ Ei Problem oder?
Kommt jedenfalls drauf an, wie das Konzept der Anwendung ist.
- Die Anwendung braucht eine eigenständige DB?
- Die Anwendung zeckt sich irgendwo ein?
- Die Anwendung setzt voraus, dass irgendwo in irgendeiner DB ein "passender" User bereits zuvor irgendwie angelegt wurde und fragt nur dessen Login ab, um dann eine eigene DB zu kreiren.

Jedenfalls ist es dann ggf notwendig, dass initial ein Login (Admin hier z.B.Sysdba ) angegeben wird, das es erlaubt, einen neuen User für die Anwendung anzulegen. Den dann mit den entsprechenden Privileges auszustatten (und das kann nur ein anderer, existierender DBA)

Dann hat sich soweit ich weiß unter FB 3 das Userkonzept etwas weiterentwickelt. Alter Scripte / Grants sind also evtl. nicht ausreichend.
Gruß, Jo
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.366 Beiträge
 
Delphi 10.3 Rio
 
#6

AW: Fehler beim CREATE DATABASE wenn man nicht SYSDBA ist

  Alt 11. Okt 2016, 15:36
Wir sprechen hier von Firebird, nicht von Oracle oder MS SQL Server.
Eine Anwendung braucht eine Firebird? Dann einen eigenen Firebird-Dienst installieren unter eigenem Port im eigenen App-Verzeichnis.
Vorteile:
* voller Zugriff auf die Benutzerverwaltung, das SysDBA Passwort braucht nicht an Kunden gegeben werden, da ein eigener User dafür angelegt wird
* voller Zugriff auf den Dienst / die Firebirdversion: Sprich wenn es sein muss wird die alte Version deinstalliert und eine neue ausgeliefert und man braucht sich um andere Software die auf einmal nicht mehr funktioniert keine Gedanken machen.
* der Dienst kann "jederzeit" zu Wartungszwecken beendet werden
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

AW: Fehler beim CREATE DATABASE wenn man nicht SYSDBA ist

  Alt 11. Okt 2016, 15:39
Wobei man bei FB 3 ja bei der Benutzerverwaltung flexibler ist (SECURITY3.fdb, Nutzdatenbank, getrennte Sicherheitsdatenbank).
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von dataspider
dataspider

Registriert seit: 9. Nov 2003
Ort: 04539 Groitzsch
1.350 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Fehler beim CREATE DATABASE wenn man nicht SYSDBA ist

  Alt 11. Okt 2016, 15:52
Wurde: GRANT RDB$ADMIN TO username bzw. ALTER USER existinguser GRANT ADMIN ROLE schon erwähnt?

Frank
Frank Reim

Geändert von dataspider (11. Okt 2016 um 15:54 Uhr)
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: Fehler beim CREATE DATABASE wenn man nicht SYSDBA ist

  Alt 11. Okt 2016, 15:56
Hallo,
ich hätte ja ein Backup als sysdba gemacht und das Restore dann mit dem entsprechenden Nutzer.
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von MyRealName
MyRealName

Registriert seit: 19. Okt 2003
Ort: Heilbronn
673 Beiträge
 
Delphi 10.4 Sydney
 
#10

AW: Fehler beim CREATE DATABASE wenn man nicht SYSDBA ist

  Alt 11. Okt 2016, 16:43
Ich will auf das Konzept der Sicherheitsdatenbank in jeder Datenbank selbst gehen mit FB3. Damit kann verhindert werden, dass die Nutzer sich die DB in auf einen Rechner kopieren, wo sie das SYSDBA passwort festgelegt haben und damit an alle Daten kommen.
Das Design ist wie partitionierung der Festplatte. Ich habe dann den öffentlichen Bereich (Partition), wo alle zugreifen können mit dem Standard-Nutzer (Berechtigungen werden im Programm gemacht, der Admin-Nutzer kennt das Passwort zur DB, normale Nutzer nicht, Zugriff über FLamerobin oder IbExoert gehen dannnicht für normale Nuzter).
Die 2. Partition ist mit einigen SYSDBA objekten gefüllt, die mit Lizenzierung zu tun haben, wo dann selbst der Admin nicht rankommt, nur unser Support. Jede DB hat ein eigens generiertes SYSDBA passwort, welches in der Lizenz bei uns abgelegt wird.

@hoika: Ging nicht, gehört immer noch SYSDBA danach.
@dataspider: Wurde nicht erwähnt, ich hatte die Rolle aber schon gegeben, die ist allerdings für die DB und nicht den Nutzer. Da die DB noch nicht existierte, war das nicht so erfolgreich

Helge
  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 16:48 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