MS SQL-Server 2000: create table

Guten Abend

Mit folgendem Statment generire ich im Query Analyzer (MS SQL-Server 2000) eine Tabelle:

CREATE TABLE [dbo].[tatarget] (
[id] [int] IDENTITY (1, 1) NOT NULL ,
[title] [varchar] (50) COLLATE Latin1_General_CI_AS NULL ,
[desription] [varchar] (8000) COLLATE Latin1_General_CI_AS NULL ,
[desriptionpic] [image] NULL ,
[contactid] [int] NULL ,
[firmaid] [int] NULL ,
[sendcv] [bit] NULL ,
[nextcall] [smalldatetime] NULL ,
[status] [varchar] (10) COLLATE Latin1_General_CI_AS NULL ,
[medium] [int] NULL ,
[source] [varchar] (50) COLLATE Latin1_General_CI_AS NULL ,
[text] [varchar] (2000) COLLATE Latin1_General_CI_AS NULL ,
[sendtext] [datetime] NULL ,
[feedback] [datetime] NULL ,
[ravrep] [datetime] NULL ,
[memo] [varchar] (1000) COLLATE Latin1_General_CI_AS NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

Er erstellt die Tabelle korrekt. Meldet aber folgendes:
Tabelle wurde erstellt, maximale Zeilenlänge (11207) übersteigt jedoch die maximale Byteanzahl pro Zeile (8060). INSERT oder UPDATE führt für eine Zeile in dieser Tabelle zu einem Fehler, wenn die entstehende Zeilenlänge 8060 Byte übersteigt.

Könnte mir das jemand erklären? Vielen Dank im Voraus.

viele Grüsse
Peter

Er erstellt die Tabelle korrekt. Meldet aber folgendes:
Tabelle wurde erstellt, maximale Zeilenlänge (11207)
übersteigt jedoch die maximale Byteanzahl pro Zeile (8060).
INSERT oder UPDATE führt für eine Zeile in dieser Tabelle zu
einem Fehler, wenn die entstehende Zeilenlänge 8060 Byte
übersteigt.

Hi,
das ist in MSSQL eine feste Größe pro Zeile, die nicht überschritten werden darf. Wen ich mich recht erinnere hat es mit der internen Organisation der Datenspeicherblöcke zu tun.

Am besten du änderst den Datentyp von den großen varchar Feldern in ‚text‘

HTH
Quaser

Hallo,

wenn Du versuchst mehr als 8K pro Zeile zu schreiben, geht das nicht. Solange die Gesamtlänge nicht überschritten wird, ist das in Ordnung.

Gruß

Peter

Guten Tag

Danke für Eure Ausführungen.

Grüsse
Peter