// Conversione di una data in formato stringa in datetime.
public class ConvStringToDateTime
{
public DateTime data { get; set; }
public Boolean esitoConversioneOk { get; set; }
public ConvStringToDateTime(string dataDaVerificare)
{
CultureInfo culturaItaliana = new CultureInfo("it-IT");
DateTime dataVerificata;
if (!(DateTime.TryParse(dataDaVerificare, culturaItaliana, DateTimeStyles.AssumeLocal, out dataVerificata)))
{
// Data non valida
dataVerificata = new DateTime(1900, 1, 1);
esitoConversioneOk = false;
}
else
{
// Data valida
esitoConversioneOk = true;
}
data = dataVerificata;
}
}
// Utilizzo
ConvStringToDateTime dataRichiestaIntervento = new ConvStringToDateTime(Row.SorgenteDataRichiestaIntervento);
if (!dataRichiestaIntervento.esitoConversioneOk)
{
messaggio = messaggio + ", Data Richiesta Intervento";
Row.dataRichiestaIntervento = dataRichiestaIntervento.data;
}
else
Row.dataRichiestaIntervento = dataRichiestaIntervento.data;
Visualizzazione post con etichetta ssis. Mostra tutti i post
Visualizzazione post con etichetta ssis. Mostra tutti i post
venerdì 29 luglio 2011
Creazione di una transazione in un Component Task
// Creazione di una transazione nel metodo principale
// Inizio transazione
SqlTransaction trans;
trans = sqlConn.BeginTransaction();
// Sql command con transazione
sqlCmd = new SqlCommand(queryString, sqlConn, trans);
// Commit
trans.Commit();
// Rollback
trans.Rollback();
// Inizio transazione
SqlTransaction trans;
trans = sqlConn.BeginTransaction();
// Sql command con transazione
sqlCmd = new SqlCommand(queryString, sqlConn, trans);
// Commit
trans.Commit();
// Rollback
trans.Rollback();
Creazione di un paramentro sql per l'esecuzione di una query.
// Creazione di un paramentro sql per l'esecuzione di una query.
public static SqlParameter MyCreateParameter(string name, SqlDbType type, int lenght, object value)
{
SqlParameter res = new SqlParameter(name, type, lenght);
res.Value = value == null ? DBNull.Value : value;
return res;
}
queryString = "UPDATE MOD2_Accensioni SET indirizzoUbicazione = @indirizzoUbicazione, numCivicoUbicazione = @civicoUbicazione, comuneUbicazione = @comuneUbicazione, capUbicazione = @capUbicazione WHERE id = @idAccensione;";
sqlCmd = new SqlCommand(queryString, sqlConn);
sqlCmd.Parameters.Add(MyCreateParameter("@indirizzoUbicazione", SqlDbType.VarChar, 100, Row.indirizzoUbicazione));
sqlCmd.Parameters.Add(MyCreateParameter("@civicoUbicazione", SqlDbType.VarChar, 5,Row.civicoUbicazione));
sqlCmd.Parameters.Add(MyCreateParameter("@comuneUbicazione", SqlDbType.VarChar, 8, Row.comuneUbicazione));
sqlCmd.Parameters.Add(MyCreateParameter("@capUbicazione", SqlDbType.VarChar, 5, Row.capUbicazione));
sqlCmd.Parameters.Add("@idAccensione", SqlDbType.Int).Value = Row.idAccensione;
sqlCmd.ExecuteNonQuery();
this.ComponentMetaData.FireInformation(0, " ---------- " + this.ComponentMetaData.Name + " ---------- ", "idAccensione: " + Row.idAccensione + ", indirizzoUbicazione: " + Row.indirizzoUbicazione + ", civicoUbicazione: " + Row.civicoUbicazione + ", comuneUbicazione: " + Row.comuneUbicazione + ", capUbicazione: " + Row.capUbicazione + ".", string.Empty, 0, ref fireAgain);
public static SqlParameter MyCreateParameter(string name, SqlDbType type, int lenght, object value)
{
SqlParameter res = new SqlParameter(name, type, lenght);
res.Value = value == null ? DBNull.Value : value;
return res;
}
queryString = "UPDATE MOD2_Accensioni SET indirizzoUbicazione = @indirizzoUbicazione, numCivicoUbicazione = @civicoUbicazione, comuneUbicazione = @comuneUbicazione, capUbicazione = @capUbicazione WHERE id = @idAccensione;";
sqlCmd = new SqlCommand(queryString, sqlConn);
sqlCmd.Parameters.Add(MyCreateParameter("@indirizzoUbicazione", SqlDbType.VarChar, 100, Row.indirizzoUbicazione));
sqlCmd.Parameters.Add(MyCreateParameter("@civicoUbicazione", SqlDbType.VarChar, 5,Row.civicoUbicazione));
sqlCmd.Parameters.Add(MyCreateParameter("@comuneUbicazione", SqlDbType.VarChar, 8, Row.comuneUbicazione));
sqlCmd.Parameters.Add(MyCreateParameter("@capUbicazione", SqlDbType.VarChar, 5, Row.capUbicazione));
sqlCmd.Parameters.Add("@idAccensione", SqlDbType.Int).Value = Row.idAccensione;
sqlCmd.ExecuteNonQuery();
this.ComponentMetaData.FireInformation(0, " ---------- " + this.ComponentMetaData.Name + " ---------- ", "idAccensione: " + Row.idAccensione + ", indirizzoUbicazione: " + Row.indirizzoUbicazione + ", civicoUbicazione: " + Row.civicoUbicazione + ", comuneUbicazione: " + Row.comuneUbicazione + ", capUbicazione: " + Row.capUbicazione + ".", string.Empty, 0, ref fireAgain);
SSIS Script Component, implementazione di un Lookup.
// LOOKUP, lettura di dati potenzialmnente nulli, quindi da controllare esplicitamente.
// Utilizzo di una query con paramentri.
if (!Row.idCliente_IsNull)
{
// L'accensione ha l'id cliente, viene processata.
queryString = "SELECT indirizzo, numero, comune, cap FROM MOD2_Anagrafica_Clienti WHERE id = @id;";
sqlCmd = new SqlCommand(queryString, sqlConn);
sqlCmd.Parameters.Add("@id", SqlDbType.Int).Value = Row.idCliente;
using (SqlDataReader reader = sqlCmd.ExecuteReader())
{
while (reader.Read())
{
// Indirizzo Ubicazione
obj = reader[reader.GetOrdinal("indirizzo")];
if (!(MyObjIsNull(obj)))
Row.indirizzoUbicazione = obj.ToString();
// Civico Ubicazione
obj = reader[reader.GetOrdinal("numero")];
if (!(MyObjIsNull(obj)))
{
if (obj.ToString().Length > 5)
Row.civicoUbicazione = obj.ToString().Substring(0, 5);
else
Row.civicoUbicazione = obj.ToString();
}
// Comune (istat) Ubicazione
obj = reader[reader.GetOrdinal("comune")];
if (!(MyObjIsNull(obj)))
Row.comuneUbicazione = obj.ToString();
// CAP Ubicazione
obj = reader[reader.GetOrdinal("cap")];
if (!(MyObjIsNull(obj)))
Row.capUbicazione = obj.ToString();
this.ComponentMetaData.FireInformation(0, " ---------- " + this.ComponentMetaData.Name + " ---------- ", "DATI LETTI idAccensione: " + Row.idAccensione + ", indirizzoUbicazione: " + Row.indirizzoUbicazione + ", civicoUbicazione: " + Row.civicoUbicazione + ", comuneUbicazione: " + Row.comuneUbicazione + ", capUbicazione: " + Row.capUbicazione + ".", string.Empty, 0, ref fireAgain);
}
}
}
// Utilizzo di una query con paramentri.
if (!Row.idCliente_IsNull)
{
// L'accensione ha l'id cliente, viene processata.
queryString = "SELECT indirizzo, numero, comune, cap FROM MOD2_Anagrafica_Clienti WHERE id = @id;";
sqlCmd = new SqlCommand(queryString, sqlConn);
sqlCmd.Parameters.Add("@id", SqlDbType.Int).Value = Row.idCliente;
using (SqlDataReader reader = sqlCmd.ExecuteReader())
{
while (reader.Read())
{
// Indirizzo Ubicazione
obj = reader[reader.GetOrdinal("indirizzo")];
if (!(MyObjIsNull(obj)))
Row.indirizzoUbicazione = obj.ToString();
// Civico Ubicazione
obj = reader[reader.GetOrdinal("numero")];
if (!(MyObjIsNull(obj)))
{
if (obj.ToString().Length > 5)
Row.civicoUbicazione = obj.ToString().Substring(0, 5);
else
Row.civicoUbicazione = obj.ToString();
}
// Comune (istat) Ubicazione
obj = reader[reader.GetOrdinal("comune")];
if (!(MyObjIsNull(obj)))
Row.comuneUbicazione = obj.ToString();
// CAP Ubicazione
obj = reader[reader.GetOrdinal("cap")];
if (!(MyObjIsNull(obj)))
Row.capUbicazione = obj.ToString();
this.ComponentMetaData.FireInformation(0, " ---------- " + this.ComponentMetaData.Name + " ---------- ", "DATI LETTI idAccensione: " + Row.idAccensione + ", indirizzoUbicazione: " + Row.indirizzoUbicazione + ", civicoUbicazione: " + Row.civicoUbicazione + ", comuneUbicazione: " + Row.comuneUbicazione + ", capUbicazione: " + Row.capUbicazione + ".", string.Empty, 0, ref fireAgain);
}
}
}
Iscriviti a:
Post (Atom)