webForumDet fria alternativet

Datatypen TEXT begränsad till 8000 char

Databaser & SQL

6 svar · 622 visningar · startad av pg

Medlem sedan feb. 200235 inlägg
Frågan#1

Hej

Jag jobbar med en SQL Server express databas och har ett problem med datatypen TEXT. När jag skapar ett fält med TEXT så får jag den att max innehålla 8000 tecken. Jag har läst att TEXT teoretiskt kan inehålla mycket mer och jag har för mig att när jag använt det tidigare i MySQL så har det tilldelas ca 65000 tecken.

Har försökt med några varianter
TEXT(65535)
LONGTEXT
TEXT(max)
men jag lyckas inte få det att funka.

Så jag undrar hur jag ska göra för att få fältet att lagra en stärre mängd tecken, t.ex 65000

Tack på förhand för ev. svar /PG

Medlem sedan dec. 20025 483 inlägg
#2

Text är utdöende. Använd varchar(max) i stället.

Medlem sedan feb. 200235 inlägg
#3

Det har jag testat och då fick jag också 8000 tecken.

Medlem sedan mars 20041 505 inlägg
#4

Microsoft SQL Server 2005 introducerade varchar(max) som kan innehålla 2147483647 tecken.

ALTER TABLE Blipp ALTER COLUMN Blopp varchar(max) NOT NULL
Medlem sedan juni 200032 967 inlägg
#5

Hur ser du att du bara får 8000 tecken?

Medlem sedan feb. 200235 inlägg
#6

Jag sökte och läste om det men det var kanske gammal info då?
t.ex http://www.teratrax.com/articles/varchar_max.html

Jag testade att använda ADODB.Connection i stället för ADODB.Command för att köra mot DB och då fick jag den att acceptera mer än 8000. Varför det blev så vet jag inte.

Medlem sedan dec. 20025 483 inlägg
#7

I artikeln står det att SQL Server 2000/7 inte kan ha fler än 8000 tecken per rad och att TEXT kan användas om man vill komma runt den begränsningen.

Senare versioner av SQL Server introducerar v/n-archar(max) som kan hålla upp till 2 GB av data.

259 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
129 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)