AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Firebird -->Create table

Firebird -->Create table

Ein Thema von der-C · begonnen am 31. Okt 2004 · letzter Beitrag vom 1. Nov 2004
Antwort Antwort
Seite 1 von 2  1 2   
der-C

Registriert seit: 29. Okt 2004
68 Beiträge
 
Delphi 6 Professional
 
#1

Firebird -->Create table

  Alt 31. Okt 2004, 09:51
hallo,

folgendes geht:
CREATE TABLE test (col INTEGER)

folgendes geht nicht:
CREATE TABLE test (col VARCHAR(24))

Fehlermeldung "-607 This Operation is not defined for systemtables"

weis jemand weiter?
  Mit Zitat antworten Zitat
Benutzerbild von mikhal
mikhal

Registriert seit: 11. Sep 2003
Ort: Linz am Rhein
796 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Firebird -->Create table

  Alt 31. Okt 2004, 10:00
Normalerweise sollte das funktionieren.

Hast du vorher mit DROP TABLE test; deine Tabelle gelöscht, bevor du die Tabelle neu anlegst? Sowohl der Tabellenname als auch der Spaltenname sind sonst bereits vorhanden...

Grüße
Mikhal
Michael Kraemer
Computer erleichtern die Arbeit...
...und die Erde ist eine Scheibe!
  Mit Zitat antworten Zitat
der-C

Registriert seit: 29. Okt 2004
68 Beiträge
 
Delphi 6 Professional
 
#3

Re: Firebird -->Create table

  Alt 31. Okt 2004, 10:06
ja, das war jetzt nur ein beispiel

dasselbe Problem tritt auf wenn ich mit ALTER TABLE eine spalte adde
mit INTEGER gehts,
mit VARCHAR legt er eine spalte an die aber fehlerhaft ist (ich kann nichts hinneinschreiben)
und beim disconnecten tritt eine fehler auf und die Spalte wird wieder gelöscht
  Mit Zitat antworten Zitat
Benutzerbild von kiar
kiar

Registriert seit: 2. Aug 2003
Ort: Aschersleben
1.362 Beiträge
 
Delphi 5 Professional
 
#4

Re: Firebird -->Create table

  Alt 31. Okt 2004, 10:24
hallo C

wie greifst du auf firebird zu. das solltest du erst mal erklären.
wir sprechen hier uber eine SQL DB da ist die transaktion eine zwingende vorraussetzung.
frage: wie machst du die Transaktionssteuerung.


raik
verhältnisse die einem nicht passen,
muss man verändern oder verlassen
  Mit Zitat antworten Zitat
der-C

Registriert seit: 29. Okt 2004
68 Beiträge
 
Delphi 6 Professional
 
#5

Re: Firebird -->Create table

  Alt 31. Okt 2004, 10:37
ich verwende die Zeos komponenten

und transaktion keine Ahnung

fals es was hilft ich verwende Firebird-Embedded und die "Datenbank" wird nur von einem benutzer verwendet
  Mit Zitat antworten Zitat
Benutzerbild von kiar
kiar

Registriert seit: 2. Aug 2003
Ort: Aschersleben
1.362 Beiträge
 
Delphi 5 Professional
 
#6

Re: Firebird -->Create table

  Alt 31. Okt 2004, 10:43
hast du dir das tut von DOMO SOKRAT durchgelesen . ist hier im forum verfügbar. nutze mal die suche.

raik
verhältnisse die einem nicht passen,
muss man verändern oder verlassen
  Mit Zitat antworten Zitat
der-C

Registriert seit: 29. Okt 2004
68 Beiträge
 
Delphi 6 Professional
 
#7

Re: Firebird -->Create table

  Alt 31. Okt 2004, 11:05
ja, bin grade drüber

also ich hab mal bei TransactIsolationLevel tiSerializable eingestellt weils ja eigentlich nur einen benutzer für die datenbank gibt.

immernoch der selbe fehler

bei allen CHAR Datentypen (varchar, char, caracter) funktioniert es nicht
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#8

Re: Firebird -->Create table

  Alt 31. Okt 2004, 11:15
@C
Frag's Pferd warum das nicht geht.
Sieht für mich nach einem korrekten DML-Statement aus.

@Raik
Etwas OffTopic
Transaktionen bei DDL?
Was soll das bringen? Es wird in jeder DB, mit der ich je gearbeitet habe, autom. ein Commit für die betreffenden Systemtabellen ausgelöst.
Ein...CREATE TABLE Miep (PK integer not null, SomeField VarChar(55)) ... heißt, die Tabelle wird sofort erzeugt.
Es gibt DBs (wie zum Bleistift Oracle), die haben sich dabei so zickig, dass sie dieses Commit sogar für die Host transaktion ausführen :
SQL-Code:
declare
  NewPK Integer;
begin
  INSERT INTO SomeTable i
    (i.SomeField)
  VALUES
    ('lalelu')
  RETURNING i.PK INTO NewPK;
  
  COMMIT;

  UPDATE SomeTable u
  SET u.SomeField = 'Hallo'
  WHERE u.PK = NewPK;

  EXECUTE IMMEDIATE 'CREATE TABLE Miep (PK integer not null, SomeField VarChar(55))';

  ROLLBACK;
end;
Man würde das erwarten:
Code:
PK SomeField
1   lalelu
Da aber das DDL-Statement ein Commit auslöst steht das drin (Das RollBack is wirkungslos):
Code:
PK  SomeField
1    Hallo
Mangels FB in der Firma kann ich dir jetzt nicht sagen, ob FB zu den "zickigen DDL'lern" gehört oder nicht
Vielleicht ist FB auch so konsistent, dass es in einer Serializable transaction kein DDL gestattet.


edit: 5 Mio. Tippfehler
noch ein Edit: Boah, da hatte ich doch tatsächlich DML statt DDL geschrieben
  Mit Zitat antworten Zitat
Benutzerbild von kiar
kiar

Registriert seit: 2. Aug 2003
Ort: Aschersleben
1.362 Beiträge
 
Delphi 5 Professional
 
#9

Re: Firebird -->Create table

  Alt 31. Okt 2004, 11:30
@robert
Zitat:
ich kann nichts hinneinschreiben
darauf habe ich mich bezogen. vielleicht macht mir die zeitumstellung auch zu schaffen

letzte woche hatte ich aber auch das problem, das eine procedure nicht das gewünschte ergebnis geliefert hat, bis ich merkte, nach zwei stunden , das ich den wert den ich abfragte noch nicht commitet hatte.

na ja, ich habe zur zeit andere probleme siehe KT

raik
verhältnisse die einem nicht passen,
muss man verändern oder verlassen
  Mit Zitat antworten Zitat
Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#10

Re: Firebird -->Create table

  Alt 31. Okt 2004, 12:22
Zitat von der-C:
...
CREATE TABLE test (col VARCHAR(24))
Ich verwende z.Z. die Firebird Version 1.5.0.4201 1.5 Release Candidate und die IBOConsole in der Version 1.1.96 von L. Mengoni (läuft prima)

Das oben zitierte Statement wird bei mir fehlerfrei abgearbeitet.
I come from outer space to save the human race
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

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:39 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