AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi max. Anzahl Felder erreicht - was nun?
Thema durchsuchen
Ansicht
Themen-Optionen

max. Anzahl Felder erreicht - was nun?

Ein Thema von Cogito · begonnen am 2. Apr 2009 · letzter Beitrag vom 7. Apr 2009
Antwort Antwort
Seite 1 von 5  1 23     Letzte »    
Cogito

Registriert seit: 12. Jun 2008
280 Beiträge
 
#1

max. Anzahl Felder erreicht - was nun?

  Alt 2. Apr 2009, 10:52
Datenbank: Access • Version: 2000 • Zugriff über: ADO
Hallo zusammen,

ich habe nun die max. Anzahl an Feldern (255) erreicht, benötige aber eigentlich noch mehr. Hatte hier schon mal jemand das gleiche Problem? Was könnte man tun?
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: max. Anzahl Felder erreicht - was nun?

  Alt 2. Apr 2009, 10:55
1, Aufteilen in meherer Tabellen welche die gleichen Primärschlüssel haben.
2, Checken ob ein Wechsel auf eine neuere Access-Version dieses Limit immer noch hat
3, Wechsel auf eine vernünftige DB
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#3

Re: max. Anzahl Felder erreicht - was nun?

  Alt 2. Apr 2009, 11:03
4, dein Datenbankdesign ist höchstwahrscheinlich fehlerhaft (nicht vollständig normalisiert)
Ich kenne keine Anwendung für Datenbanken, die das Limit von 255 Feldern wirklich überschreiten würde.
Andreas
  Mit Zitat antworten Zitat
hoika

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

Re: max. Anzahl Felder erreicht - was nun?

  Alt 2. Apr 2009, 12:26
Hallo,

Access 2007

Punkt 2 kannst du also streichen.
Sinnvoll ist ein geändertes DB-Design (Normalisierung).

Eine Frage, wie viele Felder sind im Durchschnitt pro Record belegt ?

Da fällt mir ein:
Unter Paradox hatte ich das Problem damals auch mal.
Lösung war damals 1. (zusätzliche Tabelle).


Was steht denn in der Tabelle drin ?



PS:
Unter Firebird kann man 65535 Felder anlegen.
Trotzdem ist ein select * auf so eine Tabelle
auch in Firebird performancemässig lahm,
wenn viele Felder eh NULL sind.


Heiko
Heiko
  Mit Zitat antworten Zitat
Cogito

Registriert seit: 12. Jun 2008
280 Beiträge
 
#5

Re: max. Anzahl Felder erreicht - was nun?

  Alt 2. Apr 2009, 12:43
Zitat von Bernhard Geyer:
1, Aufteilen in meherer Tabellen welche die gleichen Primärschlüssel haben.
2, Checken ob ein Wechsel auf eine neuere Access-Version dieses Limit immer noch hat
3, Wechsel auf eine vernünftige DB
Hätte denn ein MS SQL Server nicht diese Felderbegrenzung? Wie ist die denn da?
  Mit Zitat antworten Zitat
hoika

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

Re: max. Anzahl Felder erreicht - was nun?

  Alt 2. Apr 2009, 12:50
Hallo,

dann googlen wir mal

SQL 2000
Columns per base table 1,024

SQL 2005
Columns per base table 1,024

SQL 2008
Columns per nonwide table 1,024
Columns per wide table 30,000

Was auch immer eine "wide table" ist.


Heiko
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#7

Re: max. Anzahl Felder erreicht - was nun?

  Alt 2. Apr 2009, 12:54
Zitat von Cogito:
Hätte denn ein MS SQL Server nicht diese Felderbegrenzung? Wie ist die denn da?
+ 8060 Byte (!) Grenze pro Datensatz. z.B. 2 * nvarchar zu 100 Zeichen gefüllt ergeben 404 Byte von dieser 8060er Grenze schon verbraucht.

Jedes DMBS hat so seine Grenzen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.606 Beiträge
 
#8

Re: max. Anzahl Felder erreicht - was nun?

  Alt 2. Apr 2009, 12:55
Zitat von Cogito:
Hätte denn ein MS SQL Server nicht diese Felderbegrenzung? Wie ist die denn da?
Das ist die falsche Frage.

Ich habe schon ungeheuer komplexe Anwendungen mit Datenbanken hinten dran gesehen. Im allerschlimmsten Fall hatte da eine Tabelle 40 spalten. Und das sind schon zu viele gewesen. Im Normalfall kommt man mit maximal 20 Spalten gut aus.

Das heisst: Die Datenstrukturen in Deinem konkreten Fall sind aller Wahrscheinlichkeit nach suboptimal.

Wenn Du die Struktur Deiner Daten in Ordnung bringst, dann tut a) auch Dein Access weiterhin und b) dürfte die ganze Angelegenheit mit an Sicherheit grenzender Wahrscheinlichkeit um längen schneller sein. Und in aller Regel ist das dann zusätzlich auch noch einfacher zu erweitern.

Was speicherst Du denn da drin, dann können wir Dir vielleicht ein paar Tipps geben, wie Du Deine Daten besser organisieren kannst.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
hoika

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

Re: max. Anzahl Felder erreicht - was nun?

  Alt 2. Apr 2009, 12:59
Hallo Bernhard,

Ich habe nicht pro Datensatz, sondern pro row gelesen.
Ein Record kann sich auch über mehrere Rows hinziehen.
Ist aber begrenzt (siehe Link)

Row Overflow


So genau weiss ich es aber nicht.
Mal den SQL-Express rauskramen und prüfen ...
Aber, ne, ich hab ja Firebird

Aber noch mal zum Fragesteller,
was ist das für eine Tabelle, warum soviele Felder.

Ich rate mal:
Tabelle Personal
Telefon1, Telefon2, Telefon3, Telefon4 ...


Heiko
Heiko
  Mit Zitat antworten Zitat
Tyrael Y.

Registriert seit: 28. Jul 2003
Ort: Stuttgart
1.093 Beiträge
 
Delphi 2007 Professional
 
#10

Re: max. Anzahl Felder erreicht - was nun?

  Alt 2. Apr 2009, 13:00
Wie hier schon einige gesagt haben, solltest du die Datenbank "normalisieren"
Schau mal bei Google unter dem Stichwort "3. Normalform"

Ich arbeite oft mit Datenbanken und die Tabelle, die bisher sehr viele Felder hatte,
hatte 12 Felder und das war schon richtig viel.

Mach dir die Welt einfacher in Zukunft und berücksichtige den Vorschlag der "Normalisierung" in Zukunft.
Das wäre die einzig vernünftige Lösung.
Levent Yildirim
Erzeugung von Icons aus Bildern:IconLev
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 5  1 23     Letzte »    


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 20:29 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