Guarda controllando il codice, la query da errore quando viene eseguito il comando
cmd.ExecuteNonQuery()
io prima ho messo un try proprio per vedere se nasce un eccezione e vedere quale è il tipo di errore.
Nel momento in cui viene eseguita la query (che non è altro che una insert di più campi), mi viene generato l'errore.
Sto provando anche a controllare campo per campo, ma è un pò dura
Guardando l'sql server profiler vedo gli stessi passi che vedo nel mio log ovvero
exec sp_AddAcqProcess_StepLog @LOG_STEP_DESCRIPTION=N'Avvio importazione incidente 3',@LOG_STEP_EventID=0,@ACQ_LOG_ID=64
go
exec sp_reset_connection
go
exec sp_AddAcqProcess_StepLog @LOG_STEP_DESCRIPTION=N'Errore nella scrittura dei dati.Impossibile convertire il valore del parametro da un String a un Byte[].-21/05/2008
17.02.49',@LOG_STEP_EventID=0,@ACQ_LOG_ID=64
go
exec sp_reset_connection
go
exec sp_AddAcqProcess_StepLog @LOG_STEP_DESCRIPTION=N'Annullo importazione incidente [incidente] 3',@LOG_STEP_EventID=0,@ACQ_LOG_ID=64
go
exec sp_reset_connection
go
quindi non sò che fare a questo punto..
guarda ho anche controllato le conversioni a livello di codice passo passo, le posto casomai ci fosse un errore che io non riesco a vedere
Function CreaParametro(ByVal strDestinazione As String, _
ByVal iTipoDestinazione As SqlDbType, _
ByVal strValore As String _
) As SqlClient.SqlParameter
Dim newParam = New SqlClient.SqlParameter()
'se è associato
newParam.ParameterName = "@" & strDestinazione
'la chicciolina deve essere aggiunta perché nella tabella ci sono solo
'i nomi dei campi ed i parametri che si chiamano come i campi
newParam.SqlDbType = iTipoDestinazione
'il tipo è salvato nella tabella al momento dell'associazione tra i campi
'tutti i valori contenuti nel file XML sono stringhe e saranno
'convertite al momento del salvataggio nel tipo imposto dal parametro
Select Case newParam.SqlDbType
Case SqlDbType.SmallInt, SqlDbType.Int, SqlDbType.TinyInt
Try
newParam.Value = CInt(strValore)
Catch ex As Exception
If strValore = "" Then
newParam.value = CInt(0)
End If
End Try
Case SqlDbType.Bit
Try
newParam.Value = CBool(BooleanoUniversale(strValore))
Catch ex As Exception
MessageBox.Show("Errore nella conversione" & ex.ToString)
End Try
Case SqlDbType.Decimal
Try
newParam.value = CDec(CDbl(strValore))
Catch ex As Exception
MessageBox.Show("Errore nella conversione" & ex.ToString)
End Try
Case SqlDbType.DateTime
If strValore = "" Then
Try
newParam.Value = DBNull.Value
Catch ex As Exception
MessageBox.Show("Errore nella conversione" & ex.ToString)
End Try
Else
Try
newParam.Value = CDate(strValore)
Catch ex As Exception
MessageBox.Show("Errore nella conversione" & ex.ToString)
End Try
End If
Case Else
newParam.Value = CStr(strValore)
End Select
CreaParametro = newParam
End Function
End Class