none
Errore UpDate in Sql Server: RRS feed

  • Domanda

  • Ciao a tutti!
    Sto ricontrando difficoltà con l'update in un Db Sql, posto lo script della tabella:
    USE [DbCataloghi2]
    GO
    
    /****** Object: Table [dbo].[tblCataloghi2]  Script Date: 01/02/2011 13:41:53 ******/
    SET ANSI_NULLS ON
    GO
    
    SET QUOTED_IDENTIFIER ON
    GO
    
    CREATE TABLE [dbo].[tblCataloghi2](
    	[id] [int] IDENTITY(1,1) NOT NULL,
    	[NomeCatalogo] [nchar](10) NOT NULL,
    	[PercorsoFile] [nchar](10) NOT NULL,
    	[Visibile] [bit] NOT NULL,
    	[DataCaricamento] [datetime] NOT NULL,
    	[utente] [nchar](10) NOT NULL,
    	[DataViaggio] [datetime] NOT NULL,
    	[prezzo] [nchar](10) NOT NULL,
    	[id_struttura] [int] NOT NULL,
     CONSTRAINT [PK_tblCataloghi2] PRIMARY KEY CLUSTERED 
    (
    	[id] ASC
    )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
    ) ON [PRIMARY]
    
    GO
    
    ALTER TABLE [dbo].[tblCataloghi2] WITH CHECK ADD CONSTRAINT [FK_tblCataloghi2_tblStrutture21] FOREIGN KEY([id_struttura])
    REFERENCES [dbo].[tblStrutture2] ([id_struttura])
    GO
    
    ALTER TABLE [dbo].[tblCataloghi2] CHECK CONSTRAINT [FK_tblCataloghi2_tblStrutture21]
    GO
    
    

     

    Dicevo, se provo a fare un update mi viene restituito questo errore:

    I dati di tipo string o binary verrebbero troncati.
    L'istruzione è stata interrotta.
    
    Come mai?

    grazie a tutti!

    Ricardo Bagnati - www.vicenzasoftware.com
    domenica 2 gennaio 2011 12:57

Risposte

  • Dicevo, se provo a fare un update mi viene restituito questo errore:

    I dati di tipo string o binary verrebbero troncati. L'istruzione è stata interrotta.

    Come mai?


    Ciao Riccardo,

    L'errore si verifica quando cerchi di valorizzare delle colonne stringa (char, varchar, nchar, nvarchar) o binarie (binary, varbinary,...) con un valore che supera la dimensione della colonna stessa e quindi dà origine ad un troncamento.

    Se il comando di UPDATE è corretto, occorrerà mettere mano alla definizione della tabella per ingrandire le colonne che generano il problema.

    Ciao!


    Lorenzo Benaglia
    Microsoft MVP - SQL Server
    http://blogs.dotnethell.it/lorenzo
    http://social.microsoft.com/Forums/it-IT/sqlserverit
    • Proposto come risposta Adriano Trevisan 75 lunedì 10 gennaio 2011 16:48
    • Contrassegnato come risposta Ricardo78 mercoledì 12 gennaio 2011 13:56
    mercoledì 5 gennaio 2011 13:26
    Moderatore

Tutte le risposte

  • Ciao Ricardo,

    posta anche l'istruzione di UPDATE, così riusciamo a capire meglio dov'è l'errore...

     


    Danilo Dominici MCP MCDBA MCITP MCSE MCAD
    lunedì 3 gennaio 2011 09:25
  • Dicevo, se provo a fare un update mi viene restituito questo errore:

    I dati di tipo string o binary verrebbero troncati. L'istruzione è stata interrotta.

    Come mai?


    Ciao Riccardo,

    L'errore si verifica quando cerchi di valorizzare delle colonne stringa (char, varchar, nchar, nvarchar) o binarie (binary, varbinary,...) con un valore che supera la dimensione della colonna stessa e quindi dà origine ad un troncamento.

    Se il comando di UPDATE è corretto, occorrerà mettere mano alla definizione della tabella per ingrandire le colonne che generano il problema.

    Ciao!


    Lorenzo Benaglia
    Microsoft MVP - SQL Server
    http://blogs.dotnethell.it/lorenzo
    http://social.microsoft.com/Forums/it-IT/sqlserverit
    • Proposto come risposta Adriano Trevisan 75 lunedì 10 gennaio 2011 16:48
    • Contrassegnato come risposta Ricardo78 mercoledì 12 gennaio 2011 13:56
    mercoledì 5 gennaio 2011 13:26
    Moderatore
  • Anche se con molto ritardo vogli ringraziarvi per le risposte!

     

    @Loreno: in effetti era un problma di dimensioni.

     

    Grazie!


    Ricardo Bagnati - www.vicenzasoftware.com
    mercoledì 12 gennaio 2011 13:58