04. januar 2011 - 11:45Der er
17 kommentarer og 1 løsning
String or binary data would be truncated
Hej,
Jeg prøver at ændre indholdet i en celle via edit mode i MS SQL Management Studio Express. Kolonnen er af typen int. Der står i forvejen 477 i feltet, men når jeg prøver at ændre det til eks. 1049 får jeg fejlen:
"String or binary data would be truncated. The statement has been terminated."
Hvordan kan jeg ændre det? Jeg har prøvet at ændre til bigint i stedet for int, uden held.
Underligt nok kan jeg godt ændre i nogle poster, andre kommer med fejl.
Hej, det er en int. Jeg klikker bare i feltet og ændrer værdien. Hele fejlmeddelelsen siger:
No row was updated.
The data in row 20 was not committed. Error source: .Net SqlClient Data Provider. Error Message: String or binary data would be truncated. The statement has been terminated.
Correct errors and retry or press ESC to cancel the change(s).
....eller et tegnsætproblem i et af de andre felter. Hvis der eksempelvis er æøå i et andet felt, som er i ISO-8859-1 i databasen (een byte), men ved redigering bliver til UTF-8 (3 tegn), så kan du også få den besked. Vi er langt ude....jeg gætter... men med intetsigende fejlbeskeder kan man jo ikke andet ;)
Det er virkelig en int-kolonne (Det består af nogle ID'er der skal ændres, ikke identity!)Og det har lykkedes mig at ændre ti rækker nu, samme kolonne, med undtagelse af tre felter hvor den bliver ved med at melde fejlen.
Jeg har blandt andet ændret f.eks.
477 -> 1049 og 830 -> 1054
Så det virker totalt mystisk er der lige er tre rows hvor det ikke vil lade sig gøre..
Mon ikke det har noget med ejerskabet at gøre? Normalt er tabeller ejet af dbo, dvs. [dbo].[Webpage]. Her er tabellen blevet oprettet med et andet login ved navn dbtest. Hvis du logger ind med dbtest burde det dog ikke give problemer at ændre tabellen.
Hvad om du prøver at rette det via SQL? update dbtest.Webpage set <field> = xx where ID = yy
hrc -> Vi har kun ét login, og det er det samme som tabellen er oprettet med, men så er det bare stadig mærkeligt at det lige drejer som om 3 poster ud af en masse som ikke vil...
MEN, som du foreslog så virker det fint med manuel SQL-updates. Ikke optimalt hvis jeg havde flere 1000, men når det drejer sig om de 3 her er jeg egentlig godt tilfreds :-)
Lukker - takker for hjælpen, men måtte slette de pågældende poster..
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.