我有一个正在开发的 SSIS 包。我正在尝试将数据从 SQL Server 2005 写入 MS Access 2007。
我很困惑如何将 SQL char(1) 字段转换为 Access Yes/No 字段。
根据我收集的信息,Access Yes/No 字段的 SQL 等效项将是一个位字段,其值为 0 或 1。
我的 SQL char(1) 字段(这是我的源字段)包含“N”或“Y”。我没有使用位字段的选项,因此我进退两难。我曾尝试转换为布尔值和整数,但没有任何成功。
在我的数据流任务中,我尝试创建正则表达式无济于事,派生列、数据转换等也无济于事。我被困住了。
我已经看到了一些关于构建循环遍历 .Row 集合的条件语句的示例。这似乎有点过分,必须为 NULL 检查或字符串值编写条件。
在 MSDN 链接SSIS Equivalent to DTS Transform Data Task Properties ...它有一些类似于此的代码:
If DTSSource("Col010") = "Y" Then
DTSDestination("X") = -1
Else
DTSDestination("X") = 0
End If
我应该能够通过代码直接操作行值吗?由于源字段是 Yes/No 类型,它是否接受整数值?负值?是的实际上是 MS 访问中的“-1”,我想这让我感到困惑。
似乎正则表达式可以解决这个问题,但我也不确定如何使用它。
有什么我忽略的吗?必须有一种方法可以将“CHAR”转换为“YES/NO”。
** 我知道在这里很容易指出,好的 ol' 2000 SQL DTS 可以毫无问题地处理这个问题,默认情况下,开箱即用,由猴子安装。我发现自己在 SSIS 的非常小的怪癖上花费了太多时间,例如这个是/否字段问题。
我找不到关于 SSIS 和 MS Access Yes/No 字段的任何文档。MSDN 也不允许我发布问题。我知道,可怜的我:(
有没有人遇到过 SSIS 和 MS Access 的这个怪癖?