平面文件目标列数据类型验证

2023-12-11

INT 类型的源数据库字段通过 OLE DB 源读取。它最终被写入平面文件目标。目标平面文件连接管理器 > 高级页面将其报告为four-byte signed integer [DT_I4].

这种数据类型让我认为它表示二进制。显然,事实并非如此。我很惊讶它不是更通用的numeric [DT_NUMERIC].

我将此类型设置更改为single-byte signed integer [DT_I1]。我预计这会失败,但事实并非如此。尽管该字段的值始终 > 127,但该过程产生了相同的结果。为什么这没有失败?

产生的一些值是

1679576722
1588667638
1588667638
1497758544
1306849450
1215930367
1215930367
1023011178
1932102084 

显然,在a的范围之外single-byte signed integer [DT_I1].

作为一个相关的问题,是否可以将二进制数据输出到平面文件?如果是这样,应该使用什么设置以及在哪里?


数据类型验证

我认为这个问题与所使用的连接管理器有关,因为数据类型验证(在管道之外)不是由集成服务完成的,而是由服务提供者完成的:

  • 适用于 Excel 和 Access 的 OLEDB
  • 用于 SQL Server 的 SQL 数据库引擎
  • ...

到那个时刻平面文件连接管理器, it 不保证任何数据类型的一致性因为所有的值都是存储为文本。例如,尝试添加平面文件连接管理器并选择包含名称的文本文件,尝试将列数据类型更改为日期并转到列预览选项卡,它将显示所有列,没有任何问题。它只处理行分隔符、列分隔符、文本限定符和用于从平面文件读取的通用属性。(类似于VB.NET中的TextFieldParser类)

数据类型可能导致异常的唯一情况是当您使用平面文件源时,因为平面文件源将创建一个外部柱当 SSIS 尝试从平面文件源读取时,在平面文件连接管理器中使用定义的元数据并将它们链接到原始列(您可以看到,当您打开平面文件源的高级编辑器时)外部列将抛出异常.

二进制输出

您应该在包内将该列转换为二进制并将其映射到目标列。例如,您可以使用脚本组件来执行此操作:

public override void myInput_ProcessInputRow(myInputBuffer Row)
  {

  Row.ByteValues=System.Text.Encoding.UTF8.GetBytes (Row.name);

  }

我还没有尝试这是否适用于派生列或数据转换。

参考

  • 将输入转换为 (DT_BYTES,20)
  • SSIS 中的 DT 字节
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

平面文件目标列数据类型验证 的相关文章

  • 在 C# 整数运算中,a/b/c 是否始终等于 a/(b*c)?

    设a b和c为非大正整数 对于 C 整数算术 a b c 是否始终等于 a b c 对我来说 在 C 中它看起来像 int a 5126 b 76 c 14 int x1 a b c int x2 a b c 所以我的问题是 x1 x2对于
  • Django:生成 CSV 文件并将其存储到 FileField 中

    在我的 Django 视图文件中 我需要从元组列表生成 CSV 文件 并将 CSV 文件存储到模型的 FileField 中 class Bill models Model billId models IntegerField bill m
  • ANSI C,整数到字符串,不带可变参数函数

    我目前正在使用支持 ANSI C 的 PLC 但使用它自己的 GNU 编译器风格 它不编译任何可变参数函数和 itoa 之类的东西 所以使用 sprintf co 不是将整数转换为字符串的选项 任何人都可以引导我到一个列出了健壮的 无 sp
  • SSIS 脚本编辑器抛出异常

    我有 SQL Server 2012 SSIS SSDT 和 Visual Studio 2010 我可以创建一个新的 SSIS 包并添加脚本任务 但如果我尝试打开该脚本任务的脚本编辑器 则会收到以下错误 TITLE Microsoft V
  • 通过SSIS动态创建Excel表

    在 SSIS 中使用执行 SQL 任务 创建的 Excel 文件 包含多个列和不同的数据类型 这里的问题是 INT Money 列在 Excel 中显示为文本列 即使 Excel 表是使用 Int Money 数据类型创建的 我尝试过使用双
  • Bash:查找并连接文件

    我有以下结构 home DIR1 file ab csv DIR2 file cd csv DIR3 file3 ef csv Where file csv包含多行浮点数 每个 DIR 都有不同的浮点数 我想抓取所有的内容file csv文
  • 使用csv文件-PHP创建表到mysql时添加反引号

    我有一个 php 代码 它将使用 csv 文件创建一个到 mysql 数据库的表 然而 某些列标题没有被 mysql 读取 mysql 唯一一次读取查询是当我添加反引号 您能帮助我在查询中的何处添加反引号吗 这是我的代码 file C Us
  • 开始使用 Python 在 CSV 的特定行上读写

    我有一个 CSV 文件 如下所示 COL A COL B 12345 A 1 B 2 C 3 如何读取该文件并将其写回新文件 但只写第二行 行 我希望输出文件包含 12345 A 1 B 2 C 3 Thanks 下面读取您的 csv 提取
  • 如何将 xlsx 文件转换为 csv?

    目前我正在使用下面的代码使用 Java 将 XLSX 文件转换为 CSV 我需要一个更快的解决方案 因为这太慢了 public class Test1 static void convert File inputFile File outp
  • 如何对无法存储在一个变量中的大数字进行运算

    在Java中 我希望能够对非常大的整数 不能存储在long中 进行操作 我该怎么做 在表现良好的情况下 处理这个问题的最佳方法是什么 我应该创建自己的包含多个长变量的数据类型吗 Example public class MyBigInteg
  • 使用 XSLT 从文本文件中删除第一行

    我正在使用一个生成文本文件的系统 Maximo 我需要删除文件的第一行 做到这一点的方法应该是使用 XSLT 任何想法 是的 您可以在 XSLT 中完成您想要的事情 如果您可以选择的话 在 XSLT 2 0 中这样做可能会更容易 Micha
  • python csv按列转换为字典

    是否可以将 csv 文件中的数据读取到字典中 使得列的第一行是键 同一列的其余行构成列表的值 例如 我有一个 csv 文件 strings numbers colors string1 1 blue string2 2 red string
  • SSIS:如何将项目连接管理器移动到包中

    我有一个 2012 SSIS 项目 其中在项目级别定义了许多连接管理器 该项目还包括许多引用这些连接管理器的包 现在我想将我的项目转换为部署模型 但向导指定我需要删除项目中的连接管理器 这意味着将连接管理器移动到包中 如何将项目级连接管理器
  • 可以写入 csv 文件但不能追加

    string pathDesktop Environment GetFolderPath Environment SpecialFolder Desktop string filePath pathDesktop mycsvfile csv
  • 如何修复 SSIS“文件/进程不在路径中”警告?

    SSIS 附带了许多解决数据获取和集成问题的任务 但它缺少的一项任务是用于通过 HTTP 下载文件的 HTTP 任务 为了解决这个问题 我安装了Wget http gnuwin32 sourceforge net packages wget
  • 对 CSV 行使用小写函数

    我正在尝试以小写形式打印 csv 中的所有数据 但我没有任何运气 这是我到目前为止所拥有的 import csv books csv reader open books csv rb for row in books print row 这
  • 我可以在C中直接比较int和size_t吗?

    我可以比较一个int and a size t像这样的变量 int i 1 size t y 2 if i y Do something 或者我必须输入其中之一 只要满足以下条件 它就是安全的int为零或正数 如果它是负数 并且size t
  • CodedUI 测试不从 CSV 输入文件读取数据

    我在使用编码 UI 测试方法映射 CSV 文件时遇到困难 这很可能是一个愚蠢的问题 但我似乎找不到解决我的问题的方法 至少没有一个有效的方法 我已确保将 CSV 文件的属性设置为始终复制 我还通过在测试方法上方写入以下行来导入 CSV 文件
  • 在谷歌云上训练神经网络时出现“无法获取路径的文件系统”错误

    我正在使用 Google Cloud 在云上训练神经网络 如下例所示 https cloud google com blog big data 2016 12 how to classify images with tensorflow u
  • Import-Csv - 成员已存在问题

    我必须将多个 CSV 文件合并为一个文件 每个 CSV 都有一个标题 其中一列标题是相同的 理想情况下 最终文件 all out csv 必须有一个标头 我运行 PowerShell 代码 Import Csv out 1 result c

随机推荐