SSIS如何使用Visual Basic将空白日期插入数据库

Posted

技术标签:

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

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

谢谢

【问题讨论】:

【参考方案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 为空,我想在数据库中插入空白或空值

以上是关于SSIS如何使用Visual Basic将空白日期插入数据库的主要内容,如果未能解决你的问题,请参考以下文章

使用 HashTable 对文件组进行排序 - Visual Basic

控制台应用程序:用户输入日期 Visual Basic

如何在ssis中将空白转换为null

如何使用Visual Basic 6.0将LPT1更改为LPT2?

如何将今天的日期excel表自动导入SSIS [重复]

如何将值从Visual Basic 6程序传递给VBscript代码?