Ho trasportato sul Sql-Server del cliente:
Microsoft SQL Server 2000 - 8.00.760 (Intel X86)
Standard Edition on Windows NT 5.2 (Build 3790: )
un db sviluppato su un mio sql-server di sviluppo:
Microsoft SQL Server 7.00 - 7.00.1063 (Intel X86)
Desktop Edition on Windows NT 5.0 (Build 2195: Service Pack 4)
Gli applicativi funzionano benissimo, tranne una SP che segnala l'errore
446, che da BOL è descritto come "Impossibile risolvere il conflitto di
regole di confronto per l'operazione ", e quando appare l'operazione che
fallisce viene indicata in "equal to".
Adesso sono un po' in difficoltà perchè sono nella sede del cliente a
Calais, il firewall chiude i newsreader e non ho con me tutta la
bibliografia da ufficio.
Il problema avviene nella dichiarazione di un cursore:
DECLARE CURSORE_LINEE CURSOR
LOCAL SCROLL STATIC
FOR
SELECT B.CODICE_LINEA, B.PRODUTTIVITA, B.LOTTO_MINIMO, B.MOLTEPLICITA,
NUMERO_LOTTI=COALESCE((SELECT COUNT(1)
FROM #TEMP_PIANO
WHERE ID_LINEA=B.CODICE_LINEA
),0),
QTA_LAVORATA=COALESCE((SELECT SUM(QTA_ASSEGNATA)
FROM #TEMP_PIANO
WHERE ID_LINEA=B.CODICE_LINEA
),0.0),
TEMPO_USATO=COALESCE((SELECT SUM(TEMPO_USATO)
FROM #TEMP_PIANO
WHERE ID_LINEA=B.CODICE_LINEA
),0.0),
ULTIMO_FORMATO=COALESCE((SELECT TOP 1 [FORMATO]
FROM #TEMP_PIANO
WHERE ID_LINEA=B.CODICE_LINEA
ORDER BY PROGRESSIVO DESC
),'NESSUNO')
FROM TB_PRODUTTIVITA_LINEE AS B
WHERE B.CODICE_ORIGINE=@ORIGIN
ORDER BY PRODUTTIVITA DESC
Ho commentato varie cose, e ho visto che il problema si verifica se c'è
uno qualunque delle 4 assegnazioni col Coalesce (ma non credo il
problema sia nel coalesce, quanto piuttosto in qualcosa
dell'assegnazione stessa).
Se qualcuno ha qualche idea, anche solo su cosa guardare o cosa provare
a verificare, è il benvenuto.
Ciao
Alberto
--
Posted via Mailgate.ORG Server - http://www.Mailgate.ORG