Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Datenbank mit Dynamischen Spalten (https://www.delphipraxis.net/117084-datenbank-mit-dynamischen-spalten.html)

sebi87 11. Jul 2008 08:53

Datenbank: Firebird • Version: 1.5 • Zugriff über: ZeosLib

Datenbank mit Dynamischen Spalten
 
Hallo Leute,

ich möchte/muss meine Datenbank ziehmlich dynamisch halten. Hierraus ergibt sich die Schwierigkeit das ich Spalten vom Typ SMALLINT erzeugen und löschen können muss.

Wie kann ich das Per SQL lösen ohne einen DB-Editor benutzen zu müssen?



Danke

Sebastian

WIng2005 11. Jul 2008 08:58

Re: Datenbank mit Dynamischen Spalten
 
Mahlzeit,

meines Wissens nach kannst du Felder mit
Delphi-Quellcode:
ALTER TABLE name ADD feldname typ
anghängen und löschen mit

Delphi-Quellcode:
ALTER TABLE name DROP feldname
...hoffe mal das hilft...

MFG
Steffen

sebi87 11. Jul 2008 09:07

Re: Datenbank mit Dynamischen Spalten
 
soweit ganz gut. Wenn ich wie beschrieben eine Spalte anhängen will bekomme ich die Fehlermeldung:


Zitat:

SQL Error: unsuccessful metadata update STORE RDB$RELATION_FIELDS failed no permission for control access to TABLE CUSTOMER. Error Code: -607. This operation is not defined for system tables. Rhe SQL: ALTER TABLE CUSTOMER ADD K030 SMALLINT DEFAULT -1 ;;
Was mache ich falsch??

WIng2005 11. Jul 2008 09:47

Re: Datenbank mit Dynamischen Spalten
 
"no permission for control access to TABLE CUSTOMER" -> fehlen dir evtl. die Berechtigungen?


MFG
Steffen

sebi87 11. Jul 2008 09:54

Re: Datenbank mit Dynamischen Spalten
 
Wie müssen die Berechtigungen zum erstellen einer neuen Spalte sein??

Ich habe auf der Tabelle alle Rechte. Darf also prinzipiell alles machen. Kann es mit dem Eigentümer der Tabelle zu tun haben?


Grüßle

Sebastian

Sherlock 11. Jul 2008 09:55

Re: Datenbank mit Dynamischen Spalten
 
Dynamische Datenbanken sind fürchterlich unperformant. Überleg Dir grundsätzlich, ob das wirklich so sein muss.

Sherlock

sebi87 11. Jul 2008 10:01

Re: Datenbank mit Dynamischen Spalten
 
Also dazu kann ich nur sagen das wir, also ich und mein Mitentwickler uns das 2 Monate überlegt haben und wir zum Entschluss gekommen sind das das die eizig sinnvolle und am einfachsten zu handhabende Lösung ist.


Das ganze hat auch schon funktioniert, als das System noch mit einer Access Datenbank lief. Jetzt haben wir das ganze auf Firebird umgestellt und wir haben das Problem, dass das erstellen und löschen von Spalten nichtmehr funktioniert.

Grüßle

Sebastian

sebi87 11. Jul 2008 10:12

Re: Datenbank mit Dynamischen Spalten
 
Hab das ganze jetzt mal als SYSDBA versucht und siehe da es funktioniert.

Als User habe ich die gleichen Rechte wie SYSDBA.
Der Owner der Tabelle ist allerdings SYSDBA.
Kann ich eine Tabelle nur ändern wenn ich auch der Owner bin???

Wie kann ich das lösen das ich von jedem User mit den schreibrechten die Tabelle ändern kann?


Grüßle
Sebastian

Billa 11. Jul 2008 10:13

Re: Datenbank mit Dynamischen Spalten
 
Was spricht gegen eine zweite Tabelle, in der eben keine weiteren Spalten, sondern Sätze gespeichert sind? Ist auch performant und vermeidet dauernde Änderungen an der Datenstruktur ...

sebi87 11. Jul 2008 10:21

Re: Datenbank mit Dynamischen Spalten
 
Ihr hab schon recht, das ändern der Datenstuktur ist nicht optimal, aber das Problem ist das sich sowohl Spalten und Zeilen ändern.

Ich weiß keine andere Lösung wie ich es anstellen soll, dass ich eine Martix habe das sich in 2 Dimmensionen ändern kann und ich in jedes Feld einen Eintrag schrieben kann.

Wenn jemand eine Andere Lösung hat bin ich dankbar.

Aber das hat mein Problem noch nicht gelöst.


Grüßle
Seabstian


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:20 Uhr.
Seite 1 von 2  1 2      

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