Inquiridor
Dificuldades ao atribuir o valor Nulo para uma coluna através de Componente Script do SSIS.

Pergunta
-
Senhores,
Novamente apelo ao vosso conhecimento!
Estou efetuando uma transformação de dados através do componente Script do SSIS e preciso validar os dados nesta transformação e incluir NULL para alguns casos, conforme abaixo:
if (Row.EntradaDATAREFERENCIA.Trim().Length == 0 | Convert.ToDecimal(Row.EntradaDATAREFERENCIA) == 0)
Row.DATAREFERENCIA = null;
else
Row.DATAREFERENCIA = Convert.ToDateTime(Row.EntradaDATAREFERENCIA.Substring(0, 4) + "-" + Row.EntradaDATAREFERENCIA.Substring(4, 2) + "-" + Row.EntradaDATAREFERENCIA.Substring(6, 2));
Porém me apresenta o erro:
Não é possível converter nulo para 'System.DateTime' por que ele é um tipo de valor não-nulo.
Alguém sabe a solução pra essa?
Desde já Grato,
Marco A. Oliveira
Todas as Respostas
-
Marco,
Realmente não é possível converter valores de data e hora para Nulo, pois trata-se sempre de valores reais.
Talvez poderíamos pensar em utilizar uma função algo do IsDate para verificar se o valor é do tipo data, caso contrário você poderia atribuir um valor padrão algo como '01/01/2009'.
Já pensou em algo assim?
Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA -
Pedro,
Cheguei a utilizar um valor padrão para teste, até por isso sei que a importação funciona, mas a existência deste valor padrão compromete bastante a finalidade para a qual esta base é utilizada.
Não existe nenhuma forma de inserir Nulo na coluna?
Grato,
Marco A. Oliveira -
-
-
-
-
Marco,
Cara eu estou fazendo vários testes com uma tabela utilizando valores do tipo Data e passando também valores nulo, tanto no SQL Server 2000, 2005 e 2008.
Esta funcionando sem problemas.
Também testei no SSIS e não tive erros.
Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA -
-
Marco,
Eu fiz um pequeno código, criando uma table, inserindos valores nulos na table.
Depois no SSIS eu useis esta table e executei um Script Task, foi somente isso.
Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA