【问题标题】:SSIS how can i insert a blank date to database with visual basicSSIS如何使用Visual Basic将空白日期插入数据库
【发布时间】:2009-11-23 08:41:44
【问题描述】:

如何在 ssis 中使用 Visual Basic 脚本组件向 sql 数据库中插入空白日期? 我必须将日期从 excel 传输到数据库,如果 excel 为空,我想在数据库中插入一个空白或空值

谢谢

【问题讨论】:

    标签: sql sql-server vbscript ssis


    【解决方案1】:

    在脚本组件中,创建一个新的输出列 - 类型为 DATE。这将在脚本中的对象模型中将其公开为可写对象 - 将有一个 Row.COLUMNNAME 用于值和 Row.COLUMNNAME_IsNull。大概您的输入列是作为字符串列进来的。

    然后在脚本中,在满足适当条件时设置Row.COLUMNNAME_IsNull = True,例如(这是生产代码,preCOMPDATE 字符串列来自源,COMPDATE 日期列在输出中):

    If Row.preCOMPDATE_IsNull Then
        ' In this example we only set it to NULL is the string is null - you might also do this for blanks or whatever else the string might contain
        Row.COMPDATE_IsNull = True
    Else
        ' This is a date cleansing routine defined elsewhere in the script - out of range dates are defaulted to 1/1/1900, among other things, logging errors and setting severities
        Row.COMPDATE = ValidateDate("COMPDATE", _
                                    Row.preCOMPDATE, _
                                    startDate, _
                                    endDate, _
                                    New Date(1900, 1, 1), _
                                    ErrorDesc, _
                                    IsRegDtError)
    End If
    

    【讨论】:

      【解决方案2】:

      空白是指默认日期,还是保持为空??

      除了在 SQl Server 中插入空白日期之外,您是否可以不只是在 SQL 表本身中设置一个默认日期,以便在没有向该字段传递任何内容时自动执行此操作?

      【讨论】:

      • 我必须将日期从 excel 传输到数据库,如果 excel 为空,我想在数据库中插入空白或空值
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-06
      • 2013-09-19
      • 1970-01-01
      相关资源
      最近更新 更多