527 messaggi dal 18 dicembre 2012
Ciao a tutti

Quando provo a cambiare un campo da datetime a datetime2 ricevo questo errore:

Net SqlClient Data Provider
The index 'IX_Product_PriceDatesEtc' is dependent on column 'AvailableStartDateTimeUtc'.
ALTER TABLE ALTER COLUMN AvailableStartDateTimeUtc failed because one or more objects access this column.

Cosa dovrei fare?

Grazie
1.976 messaggi dal 27 luglio 2005
Contributi
salve,
prova prima ad eliminare l'indice indicato, per poi rigenerarlo dopo la variazione..
saluti

Andrea Montanari
http://www.hotelsole.com - http://www.hotelsole.com/asql/index.php
527 messaggi dal 18 dicembre 2012
Ciao Andrea
Grazie per la risposta
Dato che è un'operazione che non ho mai fatto, quali sono le operazioni?
Grazie
1.976 messaggi dal 27 luglio 2005
Contributi
salve,
senza fare reverse engineering per il refactoring con strumenti elaborati, puoi abbastanza tranquillamente procedere come segue...
devi comunque ispezionare le dipendenze della colonna AvailableStartDateTimeUtc...
la tabella coinvolta avra' degli indici, sicuramente 1 dei quali e' coinvolto come gia' l'eccezione ti indica, ed avra' dei constraints a livello di colonna...
guarda gli indici ed i constraint della colonna in esame... e se ci sono, prendine nota ed effettuane lo script di creazione...
terminata la fase ispettiva, procedi alla cancellazione (DROP CONSTRAINT ..., DROP INDEX....) degli oggetti dipendenti..
procedi alla modifica del tipo di dato della colonna (ALTER TABLE .. ALTER COLUMN...)
procedi a rigenerare gli oggetti dipendenti, cioe' indici, constraint...
salutoni
Modificato da Andrea Montanari il 19 gennaio 2017 17.13 -

Andrea Montanari
http://www.hotelsole.com - http://www.hotelsole.com/asql/index.php

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.