Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2011
    Messaggi
    27

    [MSSQL] Problema Aggiornamento Tabella Su Server Linkato

    Buongiorno a tutti.

    Sto eseguendo una store procedure su Sql Server 2008 R2.
    Questa store va ad aggiornare una tabella che si trova su un SQL Server 2000 linkato.

    Il mio problema è che quando eseguo la query di update mi da questo errore.

    codice:
    Msg 682, Level 22, State 148, Line 1 Errore interno. 
    Il buffer specificato per la lettura del valore della colonna è troppo piccolo. 
    Eseguire DBCC CHECKDB per individuare eventuali danneggiamenti.
    Non riesco proprio a capire da cosa venga causato questo errore.

    Spero che qualcuna possa aiutarmi!

    Grazie mille
    Simo

  2. #2
    non è che stai cercando di scrivere (ad esempio) 4 caratteri in una colonna di 2?

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2011
    Messaggi
    27
    No.
    Perchè sono due tabelle completamente identiche.

    E' impossibile che ci siano colonne diverse.
    Simo

  4. #4

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2011
    Messaggi
    27
    Ecco la query

    codice:
    ;WITH RecordModifyCTE AS
    	(
    
    		SELECT	* 
    		FROM	F55_TTT_ARKDDM
    		WHERE	OLD_CHECK<>NEW_CHECK 
    		AND OLD_CHECK IS NOT NULL 
    		AND NEW_CHECK IS NOT NULL
    	)
    	
    	UPDATE	TABSQL2000
    	SET		 DITTA=DDM.DITTA , TIPORECDFM=DDM.TIPORECDFM , SIGLADFM=DDM.SIGLADFM , DISPOSIZIONEDFM=DDM.DISPOSIZIONEDFM
    			,PROGDFM=DDM.PROGDFM , PROGDDM=DDM.PROGDDM , ARTICOLODDM=DDM.ARTICOLODDM , COLOREDDM=DDM.COLOREDDM 
    			,PARTITADDM=DDM.PARTITADDM , BAGNODDM=DDM.BAGNODDM , CONFEZIONEDDM=DDM.CONFEZIONEDDM , MAGAZZINODDM=DDM.MAGAZZINODDM
    			,PERCENTUALEDDM=DDM.PERCENTUALEDDM , PREZZOMATERIALEDDM=DDM.PREZZOMATERIALEDDM , QTADISPOSTADDM=DDM.QTADISPOSTADDM
    			,QTAINVIATADDM=DDM.QTAINVIATADDM , SALDODDM=DDM.SALDODDM , PARTITAORDITODDM=DDM.PARTITAORDITODDM
    			,PARTITATRAMADDM=DDM.PARTITATRAMADDM , PEZZEDISPDDM=DDM.PEZZEDISPDDM , PEZZEINVIATEDDM=DDM.PEZZEINVIATEDDM
    			,QTARIENTRATADDM=DDM.QTARIENTRATADDM , PEZZERIENTRATEDDM=DDM.PEZZERIENTRATEDDM , LIBERODDM=DDM.LIBERODDM
    			,NUMEROVOLTEDDM=DDM.NUMEROVOLTEDDM , PESOINIZIALEDDM=DDM.PESOINIZIALEDDM , PESOSECCODDM=DDM.PESOSECCODDM
    			,PESOPERDITADDM=DDM.PESOPERDITADDM , TASSOAPPLICATODDM=DDM.TASSOAPPLICATODDM , PERCRISULTANTEDDM=DDM.PERCRISULTANTEDDM
    			,PERCVOLUTADDM=DDM.PERCVOLUTADDM , QTAPRELEVATADDM=DDM.QTAPRELEVATADDM , FLAGDAINVIAREDDM=DDM.FLAGDAINVIAREDDM
    			,SALDOINVIODDM=DDM.SALDOINVIODDM , FLAGAVANZAMENTODDM=DDM.FLAGAVANZAMENTODDM
    	FROM	FTSER001.PROIV.DBO.ARKDDM AS TABSQL2000 
    					INNER JOIN RecordModifyCTE AS CTE ON
    							TABSQL2000.DITTA=CTE.DITTA
    							AND TABSQL2000.TIPORECDFM=CTE.TIPORECDFM
    							AND TABSQL2000.SIGLADFM=CTE.SIGLADFM
    							AND TABSQL2000.DISPOSIZIONEDFM=CTE.DISPOSIZIONEDFM
    							AND TABSQL2000.PROGDFM=CTE.PROGDFM
    							AND TABSQL2000.PROGDDM=CTE.PROGDDM
    					INNER JOIN ARKDDM AS DDM ON
    							CTE.DITTA=DDM.DITTA
    							AND CTE.TIPORECDFM=DDM.TIPORECDFM
    							AND CTE.SIGLADFM=DDM.SIGLADFM	
    							AND CTE.DISPOSIZIONEDFM=DDM.DISPOSIZIONEDFM
    							AND CTE.PROGDFM=DDM.PROGDFM
    							AND CTE.PROGDDM=DDM.PROGDDM
    Simo

  6. #6
    Utente di HTML.it L'avatar di comas17
    Registrato dal
    Apr 2002
    Messaggi
    6,522
    Linked servers from SQL Server 2008 R2 64 bit to SQL Server 2000 32 bit requires the installation of service pack 3 or 4 on SQL Server 2000 machine. Once it is installed then under windows authentication or under SQL Server authentication with administrative rights user needs to run INSTCAT.SQL script

    Run Instcat.sql by using Osql.exe

    http://support.microsoft.com/kb/906954/

    da: http://beyondrelational.com/modules/...too-small.aspx

    Le versioni che hai tu di 2008 r2 e di 2000 corrispondono ?


    EDIT: altro link interessante: http://jwcooney.com/2011/07/28/hello-world/

    We submitted the question on Twitter and a helpful user @banerjeeamit indicated that the problem was due to indexes we had on the tables we were connecting.

    Sure enough when we rebuilt the indexes on the SQL Server 2000 table and added a non-clustered index to the temporary SQL Server 2008 table the Bulk update statement ran without any problems!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.