24. oktober 2002 - 14:20Der er
3 kommentarer og 1 løsning
Multiple text felter i samme tabel
Mojns.
Har hørt at flere text felter i én og samme tabel kan give problemer! Som sagt har jeg kun hørt flygtigt om det - men jeg kan ikke finde steder på nettet/bøger der siger at det giver problemer at fx. have 9 text felter i én tabel!! Hvad er jeres erfaringer med dette?? Kan det give problemer i forbindelse med selects, inserts, updates (al select, insert, update foregår fra .asp)??
Sagen er nemlig den, at der i min web-applikation findes 9 textarea's hvori brugere kan indtaste data! Dataene i én textarea kan snildt komme op på at indeholde 5000-15000 tegn - og idet SQL-server har en begrænsning på 8 K i row size er det noget fnidder fnadder!
Jeg er godt klar over at man kan begynde at kigge på designet af tabellerne i systemet, men dette vil jeg helst undgå idet komplektisteten i systemet er stor!
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Jeg mener ikke at SQL-Server i sig selv har nogen problemer med TEXT felterne.
Jeg har først oplevet problemer når jeg kombinerede SQL-Server med IIS og ASP. Det jeg har oplevet er at TEXT felter skal være til sidst i RecordSettet og kun kan addresseres EEN gang i ASP.
D.v.s. at hvis du har en tabel der består af :
felt1 int felt2 TEXT felt3 int felt4 varchar(300) felt5 TEXT
Så skal du hente felterne sådan :
Select felt1, felt3, felt4, felt2, felt5 From tabel
Og så snart du har dannet RecordSettet (f.eks. ved navn RS) i ASP skal du lægge RS("felt2") og RS("felt5") over i nogle variabler og så bruge dem.
MS-SQL 2000 har også stadig nogle gamle fejl omkring VarChar. På et tidspunkt var største størrelse på VarChar 255 tegn. Så i en Eksport til en textfil i en DTS pakke tager kun de første 255 tegn med fra en VarChar - selv om feltet er større og indeholder mere data. Sådan er der nok mangle underlige gamle fejl i MS-SQL
Din betragtning med at TEXT felterne skal være sidst i recordsættet har jeg oxo hørt!
Jeg vil lave en test med dit forslag, specielt mht. at lægge recordsæt-felterne over i variabler - jeg bruger dem normalt direkte!
Jeg har snuset i min MSDN og kigget i SQL BOL, og der har jeg læst at hvis der ikke er mere end 8000 bytes i hvert TEXT felt kan man stadig lave normale SELECT, INSERT OG UPDATE operationer - uden man skal til at anvende READTEXT, WRITETEXT m.m. - er dette korrekt forstået?
Umiddelbart ser det ud til at virke OK! Dog bliver det spændende når applikationen sættes i produktion! Der kommer til at skulle arbejdes med store mængder data.. afhængig af antallet af brugere kan DB'en wrost case vokse med små 4 GB :-) *HYDR*
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.