Avatar billede ml Nybegynder
26. februar 2001 - 16:04 Der er 20 kommentarer og
1 løsning

ALTER TABLE ALTER COLUMN Fejl !

Jeg får denne fejl når jeg prøver at ændre data type i en kolonne, men følgende kode:

Sql = \"ALTER TABLE kdata ALTER COLUMN astemmer decimal(5,2)\"

----------

Microsoft OLE DB Provider for ODBC Drivers error \'80040e14\'

[Microsoft][ODBC SQL Server Driver][SQL Server]ALTER TABLE ALTER COLUMN bedommelse failed because DEFAULT CONSTRAINT DF__Temporary__bedom__571DF1D5 accesses this column.

Hvad skyldes dette, og hvordan undgår jeg den ??
Avatar billede ml Nybegynder
26. februar 2001 - 16:05 #1
UPS! astemmer i koden er bedommelse.. (ikke fejlen)
Avatar billede sblar Nybegynder
26. februar 2001 - 16:10 #2
Har du en default værdi på denne kolonne?
Avatar billede ml Nybegynder
26. februar 2001 - 16:22 #3
Ja, den er \"0\"...
Avatar billede nute Nybegynder
26. februar 2001 - 16:27 #4
Prøv dette:

ALTER TABLE [tabel] MODIFY [kolonne] [type]

/nute
Avatar billede ml Nybegynder
26. februar 2001 - 16:33 #5
nute> nope - giver blot:

Microsoft OLE DB Provider for ODBC Drivers error \'80040e14\'

[Microsoft][ODBC SQL Server Driver][SQL Server]Line 1: Incorrect syntax near \'bedommelse\'.
Avatar billede nute Nybegynder
26. februar 2001 - 16:38 #6
hvordan ser din sql ut ?

ALTER TABLE kdata MODIFY bedommelse ..... ?
Avatar billede ml Nybegynder
26. februar 2001 - 16:47 #7
Sql = \"ALTER TABLE kdata MODIFY bedommelse decimal(5,2)\"
Avatar billede nute Nybegynder
26. februar 2001 - 16:54 #8
hmm....ditt første eksempel \'ALTER TABLE kdata ALTER COLUMN astemmer decimal(5,2)\' burde faktisk fungere...har du prøvd å kjøre SQL direkte på SQL serveren ?

/nute
Avatar billede ml Nybegynder
26. februar 2001 - 16:58 #9
Jeg har brugt præcis den samme som den første med succes før...

Jeg har ikke direkte adgang til serveren..
Avatar billede nute Nybegynder
26. februar 2001 - 17:03 #10
kan det være at \'bedommelse\' inneholder verdier allerede som ikke oppfyller kravene til å befinne seg i en \'decimal\' kolonne ??

hvis ikke \'bedommelse\' ikke inneholder noen verdier, kan du jo prøve

ALTER TABLE kdata DROP COLUMN bedommelse;
ALTER TABLE kdata ADD bedommelse DECIMAL(5,2) {NOT}NULL

/nute
Avatar billede ml Nybegynder
26. februar 2001 - 17:07 #11
ja, det kunne jeg jo prøve. Men hvordan får jeg en standart værdi på 0 i den ?
Avatar billede nute Nybegynder
26. februar 2001 - 17:09 #12
ALTER TABLE kdata ADD bedommelse DECIMAL(5,2) {NOT}NULL DEFAULT 0 burde fungere....

/nute
Avatar billede ml Nybegynder
26. februar 2001 - 17:12 #13
{NOT}NULL - bevirker at der skal skrives noget i feltet ikke ?
Det kan jeg vel bare lade være med at bruge... Altså:

SQL = \"ALTER TABLE kdata DROP COLUMN bedommelse;
ALTER TABLE kdata ADD bedommelse DECIMAL(5,2) DEFAULT 0\"
Avatar billede nute Nybegynder
26. februar 2001 - 17:14 #14
hvis du skriver NOT NULL, så kreves det verdier i kolonnen, hvis du skriver NULL, så kan kolonnen inneholde \'null\' verdier...
Avatar billede ml Nybegynder
26. februar 2001 - 22:20 #15
hmmm... Jeg kan ikke engang droppe kolonnen !! Den kommer bare med samme fejl.

Måske skulle jeg få serveren genstartet..  :)
Avatar billede nute Nybegynder
27. februar 2001 - 09:53 #16
har du fremdeles problemer ?
Avatar billede ml Nybegynder
27. februar 2001 - 12:24 #17
Har de samme problemer ligemeget hvad jeg gør, kan godt oprette en ny kolonne, men kan ikke slette (drop) eller ændre (alter) i kolonnerne.

Hvad kan denne fejl dog skyldes ? :(
Avatar billede nute Nybegynder
27. februar 2001 - 12:26 #18
det høres ut som om du ikke har de rette skriverettigheter til din database....
Avatar billede ml Nybegynder
27. februar 2001 - 12:30 #19
Nej det kan ikke passe, i andre tabeller kan jeg godt ændre og droppe kolonner...
Avatar billede nute Nybegynder
27. februar 2001 - 12:37 #20
hmmm....det høres merkelig ut....det hadde nok vært mulig å finne det ut ved å se på hele koden samt databasen...ellers er jeg tom for ideer....sorry

/nute
Avatar billede ml Nybegynder
20. april 2001 - 10:21 #21
Underligt, problemet forsvandt bare lige pludselig :|
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester