|
dev
newsgroups
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
SqlDataAdapter.Update() uses Default keyword for null values in Server 20031. Same application: one on a Window Server 2003, another on my Windows XP development machine. 2. It performs a SQLDA.update() of a Dataset containing rows with some field set to dbnull.value. 3. Result on my machine (form the SQL Profiler): exec sp_executesql N'IF EXISTS(SELECT * FROM Richieste WHERE GUID= @key0) UPDATE Richieste SET GUID=@0,DbGUID=@1,EvGUID=@2,IDIncidente=@3,PROAnno=@4,PRONumero=@5,DataIncidente=@6,Targa=@7,TargaAltroVeicolo=@8,CognomeCoinvolto=@9,NomeCoinvolto=@10,DescrizioneIncidente=@11,AllegatiRichiesti=@12,UserID=@13,Data=@14,IPProvenienza=@15,IDStato=@16,IDAderente=@17,DataUltimaModifica=@18,Costo=@19,Commissioni=@20,DataDownload=@21,UserIDDownload=@22,IPDownload=@23,InformazioniAggiuntive=@24,idAssicurazione=@25 WHERE GUID= @key0 ELSE INSERT INTO Richieste (GUID,DbGUID,EvGUID,IDIncidente,PROAnno,PRONumero,DataIncidente,Targa,TargaAltroVeicolo,CognomeCoinvolto,NomeCoinvolto,DescrizioneIncidente,AllegatiRichiesti,UserID,Data,IPProvenienza,IDStato,IDAderente,DataUltimaModifica,Costo,Commissioni,DataDownload,UserIDDownload,IPDownload,InformazioniAggiuntive,idAssicurazione) values (@0,@1,@2,@3,@4,@5,@6,@7,@8,@9,@10,@11,@12,@13,@14,@15,@16,@17,@18,@19,@20,@21,@22,@23,@24,@25)', N'@0 nvarchar(4000),@1 nvarchar(4000),@2 nvarchar(4000),@3 nvarchar(4000),@4 nvarchar(4000),@5 nvarchar(4000),@6 nvarchar(4000),@7 nvarchar(4000),@8 nvarchar(4000),@9 nvarchar(4000),@10 nvarchar(4000),@11 nvarchar(4000),@12 nvarchar(4000),@13 nvarchar(4000),@14 nvarchar(4000),@15 nvarchar(4000),@16 nvarchar(4000),@17 nvarchar(4000),@18 nvarchar(4000),@19 nvarchar(4000),@20 nvarchar(4000),@21 nvarchar(4000),@22 nvarchar(4000),@23 nvarchar(4000),@24 nvarchar(4000),@25 nvarchar(4000),@key0 nvarchar(4000)', @0 = N'1.1.97C8.670F57F6', @1 = N'3', @2 = N'0', @3 = N'0', @4 = N'0', @5 = N'0', @6 = N'2006-02-07T00:00:00.0000000+01:00', @7 = N'BM832SX', @8 = NULL, @9 = N'', @10 = N'', @11 = N'', @12 = N'5', @13 = N'claudio', @14 = N'2006-05-19T17:29:05.9030000+02:00', @15 = N'127.0.0.2', @16 = N'-1', @17 = N'9', @18 = N'2006-05-19T17:29:06.0900000+02:00', @19 = N'16.8000', @20 = N'3.0000', @21 = NULL, @22 = NULL, @23 = NULL, @24 = NULL, @25 = N'0', @key0 = N'1.1.97C8.670F57F6' 4. Result on Window Server 2003: exec sp_executesql N'IF EXISTS(SELECT * FROM Richieste WHERE GUID= @key0) UPDATE Richieste SET GUID=@0,DbGUID=@1,EvGUID=@2,IDIncidente=@3,PROAnno=@4,PRONumero=@5,DataIncidente=@6,Targa=@7,TargaAltroVeicolo=@8,CognomeCoinvolto=@9,NomeCoinvolto=@10,DescrizioneIncidente=@11,AllegatiRichiesti=@12,UserID=@13,Data=@14,IPProvenienza=@15,IDStato=@16,IDAderente=@17,DataUltimaModifica=@18,Costo=@19,Commissioni=@20,DataDownload=@21,UserIDDownload=@22,IPDownload=@23,InformazioniAggiuntive=@24,idAssicurazione=@25 WHERE GUID= @key0 ELSE INSERT INTO Richieste (GUID,DbGUID,EvGUID,IDIncidente,PROAnno,PRONumero,DataIncidente,Targa,TargaAltroVeicolo,CognomeCoinvolto,NomeCoinvolto,DescrizioneIncidente,AllegatiRichiesti,UserID,Data,IPProvenienza,IDStato,IDAderente,DataUltimaModifica,Costo,Commissioni,DataDownload,UserIDDownload,IPDownload,InformazioniAggiuntive,idAssicurazione) values (@0,@1,@2,@3,@4,@5,@6,@7,@8,@9,@10,@11,@12,@13,@14,@15,@16,@17,@18,@19,@20,@21,@22,@23,@24,@25)', N'@0 nvarchar(4000),@1 nvarchar(4000),@2 nvarchar(4000),@3 nvarchar(4000),@4 nvarchar(4000),@5 nvarchar(4000),@6 nvarchar(4000),@7 nvarchar(4000),@8 nvarchar(4000),@9 nvarchar(4000),@10 nvarchar(4000),@11 nvarchar(4000),@12 nvarchar(4000),@13 nvarchar(4000),@14 nvarchar(4000),@15 nvarchar(4000),@16 nvarchar(4000),@17 nvarchar(4000),@18 nvarchar(4000),@19 nvarchar(4000),@20 nvarchar(4000),@21 nvarchar(4000),@22 nvarchar(4000),@23 nvarchar(4000),@24 nvarchar(4000),@25 nvarchar(4000),@key0 nvarchar(4000)', @0 = N'1.1.97C8.670F57F6', @1 = N'3', @2 = N'0', @3 = N'0', @4 = N'0', @5 = N'0', @6 = N'2006-02-07T00:00:00.0000000+01:00', @7 = N'BM832SX', @8 = default, @9 = N'', @10 = N'', @11 = N'', @12 = N'5', @13 = N'claudio', @14 = N'2006-05-19T17:29:05.9030000+02:00', @15 = N'127.0.0.2', @16 = N'-1', @17 = N'9', @18 = N'2006-05-19T17:29:06.0900000+02:00', @19 = N'16.8000', @20 = N'3.0000', @21 = default, @22 = default, @23 = default, @24 = default, @25 = N'0', @key0 = N'1.1.97C8.670F57F6' As you can see on Windows Server 2003 I have the null values translated with the default keyword which doesn't work with sp_Executesql (I receive an error about missing parameter) The problem must be of the machine, since if I swap Tables/Databases the problem continue to arise on the Window Server 2003. The Server SHOULD be updated with the latest version. Any clue??? |
|||||||||||||||||||||||