将字符串转换为日期时间(使用 SSIS)

2023-11-23

我想将值“5/27/2013 16:42:37.490000”(从平面文件(DT_STR)读取)插入到 SQL Server 表的列(日期时间)中。如果我尝试在派生列中使用 (DT_DBDATE) 或 DT_DBTIMESTAMP 对其进行强制转换,则会出现错误。

[Derived Column [130]] Error: SSIS Error Code DTS_E_INDUCEDTRANSFORMFAILUREONERROR.  The "component "Derived Column" (130)" failed because error code 0xC0049064 occurred, and the error row disposition on "output column "Derived Column 1" (155)" specifies failure on error. An error occurred on the specified object of the specified component.  There may be error messages posted before this with more information about the failure.

我该怎么办呢?

Thanks


该值为datetime2类型。AFAIK SSIS 不支持 datetime2 。您需要将其作为字符串存储在数据库中,然后通过将其转换为 datetime2 来更新列。

Here is 微软连接问题

更新:使用DT_DBTIMESTAMP2您可以将字符串转换为正确的日期时间格式

下面的代码在派生列中运行得很好

(DT_DBTIMESTAMP2,7)"2013-5-27 16:42:37.490000"

7 是这里的进动。如果日期时间的格式不同,上面的代码将不起作用。例如MM/DD/YYYY HH:mm:ss.ffffff .

不过你可以使用Script component并将不同日期时间格式的数组传递给Datetime.ParseExact功能

Step1:拖拽一个Script组件,新建一个输出列DT_DBTIMESTAMP数据类型并将其命名为NewDate.

步骤2:编写以下C#代码

public override void Input0_ProcessInputRow(Input0Buffer Row)
 {
  string[] format = new string[] { @"M/dd/yyyy HH:mm:ss.ffffff",
                                         @"MM/dd/yyyy HH:mm:ss",
                                         @"M/d/yyyy HH:mm:ss" ,
                                         @"M/dd/yyyy HH:mm:ss.ffffff",
                                         @"MM/dd/yyyy HH:mm:ss.ffffff",
                                          @"M/d/yyyy HH:mm:ss.ffffff"};
  DateTime dt = DateTime.ParseExact(Row.Date,
                format ,
                CultureInfo.InvariantCulture,
                DateTimeStyles.None);

  Row.newDate = dt;
 }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将字符串转换为日期时间(使用 SSIS) 的相关文章

  • SSIS 与 DTS 性能

    这么晚了才这么做似乎很疯狂 但是 我正在使用 Rocket Software UniVerse 源和 SQL 目标重建一些 ETL 基础设施 旧的目标平台是 Windows Server 2003 上的 SQL 2000 新平台是 Wind
  • 在 SSIS 中插入新记录之前如何清空目标表?

    我使用 SSIS 生成和转换新数据 以便以后在新系统中使用 每次运行 SSIS 包时我都会遇到问题 它不断将新记录插入到我的目标表中 如何先清空目标表 OLE DB Destination 然后插入新生成的记录 目前此问题的解决方法是执行d
  • 使用 SSIS 将数据从 Oracle 导入到 SQL Server 时出现代码页错误

    我在 SSIS 包中的 OLEDB 源上收到以下警告 警告 1 验证警告 数据流任务 20582F6F DD9C 45F5 8727 992F525E67DC 无法检索该列 来自 OLE DB 提供程序的代码页信息 如果组件支持 Defau
  • 安装 SSDT VS 2015 17.3 和 17.4 时出错 - 系统找不到指定的文件

    我已在 VS 2017 上成功安装 SSDT 2017 但是 我们有一些较旧的 SSIS 包和 SSRS 报告 我需要 VS SSDT 2015 我安装了 VS 2015 Enterprise 我正在尝试安装 SSDT 2015 17 3
  • Attunity 连接器未显示在 VS 2017、SQL Server 2017 的 SSIS 中

    我看过 VS 2015 的这篇文章 但没有看过 VS 2017 的文章 我已经测试了 Visual Studio 2017 SSDT Enterprise 和 Professional 以及 SQL Server 2017 我遵循了该帖子h
  • 在 SSIS 流中使用临时表失败

    我有一个 ETL 过程 可将约 40 个表从源数据库 Oracle 10g 提取到 SQL Server 2014 开发人员版 临时环境 我的提取过程 确定暂存中的最新行 从源中选择所有较新的行 将结果插入 TEMPTABLE 将 TEMP
  • SSIS - 将参数传递给 ADO .NET 源查询

    我知道早些时候已经有人问过这个问题 大多数答案都不相关 谷歌了一下 显示解决办法是在 数据流任务 中配置表达式并设置查询 然而 在 ADO NET 源中 当我尝试预览输出时 我不断收到 Must declare the variable 它
  • SSIS 包在 sql server 代理中失败,但在 Visual Studio 中失败。 ODBC 连接

    我有一个 SSIS 包 在 Visual Studio 2010 中运行良好 但作为 SQL Server 的一项作业 它在连接到 ODBC 数据库时失败 该项目使用密码对敏感数据进行加密 这是因为代理服务器不是我的帐户 也恰好是使用连接字
  • Oracle OLE DB 提供程序未在 SSIS 中列出

    我在 SSIS 和 VS2015 CM 方面遇到问题 我有一个包需要连接 Oracle 来获取一些数据 我安装了适用于 Win64 的 ODAC 和 Oracle 客户端 但看不到提供程序列表中列出的 OLE DB 的 Oracle 提供程
  • 删除或更改 ETL 中的记录

    我有一个表 我在上面构建了 ETL 服务 货物记录 到达 离开 进入表格 我已经这样做了 我的桌子将被删除 当项目标识符第二次到达数据库时 两条记录都被删除 label cost time x2 29 14 5 2020 01 00 00
  • 打开脚本任务时 SSIS 丢失文件引用

    我们使用自定义审核程序集 C 在脚本任务中记录 SSIS 中的多种操作 我们将在 GAC 中构建自定义程序集 用于运行时 并发布到 IDE VS2008 的公共程序集区域以供设计时文件引用 后构建完成后 自定义程序集可在运行时使用 并可在文
  • SSIS 将字符转换为布尔值/位

    我有一个SSIS包来加载数据 您可能还记得 当我尝试将数据文件中的标志作为位标志加载到 SQL Server 中时 这些标志作为 Y N char 1 存在 我将数据文件中的列指定为String DT STR 我有一个数据转换任务 根据以下
  • 使用 Excel 创建包含特殊字符的 CSV 文件,然后使用 SSIS 将其导入数据库

    获取此 XLS 文件 然后 我将此 XLS 文件另存为 CSV 然后使用文本编辑器将其打开 这是我所看到的 Col1 Col2 Col3 Col4 Col5 Col6 Col7 1 ABC AB C D E F 03 3 2 我看到 C 列
  • SSIS:“错误:表达式“@[User::FileName].....无法写入属性”的结果

    过去 10 个小时我一直在尝试解决以下问题 我有一个 ForEach 循环容器 它在我的控制流中枚举 Excel 文件名 在 ForEach 循环容器中 我有一个将数据导入 Sql Server 的 Excel 源 这使用 User Fil
  • ssis 输出 json 文件添加额外的 crlf

    这个问题已经用c 代码解决了 请参考这篇文章the post https stackoverflow com questions 54059599 ssis generate json file remove return 54084996
  • 无法在 SSIS 2012 上使用敏感项目参数

    在 SSIS 2012 中 我尝试对 Oracle 的 OLEDB 连接使用敏感项目参数 它与 Sensitive 属性设置为完美配合FALSE 在项目参数设计器中 但我不希望密码像那样可见 一旦我将敏感属性设置为TRUE并尝试执行我的包
  • SSIS 2008 和 Undouble

    我将 SSIS 与 SQL Server 2008 R2 一起使用 我正在导入大型文本文件 大约 0 5 GB 这些文件使用双引号作为文本限定符 使用逗号作为字段分隔符 许多文件都具有文本限定字段 并在终止双引号之间包含逗号 SSIS 应该
  • 如何使用 SSIS 包发送电子邮件正文中表中的记录?

    我有一张名为 产品 的表 产品表有较多记录 有时表没有记录 所以我想检查产品表 if it s have the records i send all table information as mail if it s not have r
  • SSIS在脚本任务中显示变量值

    我正在做一些测试 将完整的结果集从执行 SQL 任务输出到 Foreach 循环中 如下所示 我只想将变量值输出到消息框 但它似乎不起作用 public void Main try TODO Add your code here strin
  • 我有两个 Foreach 循环,它们具有相同的枚举值。那么我该如何处理呢?

    我将两个变量声明为名为 a 和 b 的 对象 并有一个简单的 SQL 任务 select code from code list 使用完整结果集 我尝试将结果传递给声明的变量 a 和 b 并在脚本任务中使用它们 a和b 两个不同的 fore

随机推荐

  • 缩小图像大小以适合表格单元格,这适用于所有浏览器吗?

    我有一个table它的单元格中有图像 我希望这些图像在窗口宽度减小时自动缩小 但他们应该not当周围有额外空间时 它们会扩展到超出其原始大小 我有一个解决方案 适用于 Chrome 但不适用于 Firefox 或 Internet Expl
  • 如何在一页上添加两个Google图表?

    我做了什么 我已将 Google 图表添加到我的页面顶部 这将返回图表的图像 我需要做什么 我只需要将第二个图表添加到同一页面即可 问题 第二个图表的代码将被忽略 我很大程度上怀疑这是由于我错误地组合了每个图表的代码 The code 第一
  • Flutter - 选择项目后折叠 ExpansionTile

    我想得到ExpansionTile在我选择一个项目后折叠 但它不会关闭打开的列表 我尝试使用onExpansionChanged财产但我没有成功 你如何解决这个问题 插入一个 gif 来证明ExpansionTile选择项目后不会崩溃 下面
  • 无法绑定到“占位符”,因为它不是“ng-multiselect-dropdown”的已知属性

    我想实现自动完成功能 因此我发现的一个相同选项是使用多选下拉菜单 所以我使用了这个模块 https www npmjs com package ng multiselect dropdown 但在同上实施后 我收到这些错误 Error ER
  • 如何检查Python中的字符串中是否有*任一*字符? [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我知道 if a in cat win 但有没有更好的方法来查找是否either字符串中存在两个字母 以下是一些方法 if a in cat or d in cat win if
  • 如何将逗号分隔的数字字符串转换为整数数组?

    说我有绳子1 2 3 4 5我想将其转换为整数数组 最好的方法是什么 我知道我可以使用爆炸来创建一个带有字符串的数组 但我需要数组项是整数 您可以使用array map申请intval分解字符串后的每个数组项 string 1 2 3 4
  • 使用 scrapy 蜘蛛间歇性“getrandom() 初始化失败”

    我构建了一个 scrapy 蜘蛛 scrapy 1 4 该蜘蛛是通过 django rq 和supervisord 从 django 网站按需触发的 这是正在监听 django rq 事件的supervisord 作业 reddit 用作代
  • 检索 ASP.NET 中的所有发布值

    我正在创建一个 ASP NET 应用程序 它允许用户将表单元素添加到表单内的页面 当页面发布时 通过提交按钮 我需要循环遍历表单中所有发布的值并获取值 我无法检查具体值 因为我不知道会有多少个值或它们将被称为什么 有人可以指出我获取所有发布
  • 如何将数据集拆分/分区为训练和测试数据集,例如交叉验证?

    将 NumPy 数组随机拆分为训练和测试 验证数据集的好方法是什么 类似的东西cvpartition or crossvalindMatlab 中的函数 如果你想将数据集分成两部分 你可以使用numpy random shuffle or
  • 当需要相同类型的多个实例时,使用 Unity 进行 DI

    我需要这方面的帮助 我使用 Unity 作为容器 并且想将同一类型的两个不同实例注入到我的构造函数中 class Example Example IQueue receiveQueue IQueue sendQueue IQueue 是在我
  • OrderedDict 在 Python 3.7 中会变得多余吗?

    来自Python 3 7 变更日志 插入顺序保存性质dict物体已宣布成为 Python 语言规范的正式部分 这是否意味着OrderedDict会变得多余吗 我能想到的唯一用途是保持与旧版本 Python 的向后兼容性 旧版本的 Pytho
  • Boost::Asio,SSL 连接问题

    我已经尝试解决我的问题几天了 但就是无法解决 我尝试使用 Boost Asio 库和 OpenSSL 进行 SSL 连接 有一个示例代码 如何做到这一点 http www boost org doc libs 1 55 0 doc html
  • 如何使用selenium获取特定元素的html源?

    我正在查看的页面包含 div p text 1 p h1 text 2 h1 text 3 p text 4 p div 我想获取 div 中的所有文本 除了
  • 阿特金分段筛可能吗?

    我知道可以实现埃拉托斯特尼筛法 以便它连续找到素数而没有上限 分段筛 我的问题是 阿特金 伯恩斯坦筛法可以用同样的方式实现吗 相关问题 C 如何使阿特金筛增量 然而相关问题只有1个答案 即 对于所有筛子都是不可能的 这显然是不正确的 Atk
  • 文件 InfoPlist.strings 无法打开

    谁能帮帮我吗 我应该如何修复错误 无法打开文件 InfoPlist strings 因为没有这样的文件 它是在我从 SVN 更新我的项目后出现的 实际上我的项目中有 InfoPlist strings 我不知道为什么 Xcode 没有看到它
  • 写入现有 Excel 文件

    package jexcel jxl nimit import java awt Label import java io File import java io IOException import jxl Cell import jxl
  • 删除数据表中的主键

    有没有办法从数据表中删除主键或者有没有办法先删除 PK 的约束 然后删除列本身 Thanks UPDATED dtTable Columns Add new System Data DataColumn PRIMARY KEY typeof
  • 通过伪经典实例化掌握原型继承(JavaScript)

    我正在尝试通过 JavaScript 使用继承来通过测试套件 下面是我到目前为止的代码片段 var Infant function this age 0 this color pink this food milk Infant proto
  • 将双精度型转换为 int

    转换的最佳方法是什么double to an int 应该使用演员阵容吗 如果您想要默认的向零截断行为 则可以使用强制转换 或者 您可能想使用Math Ceiling Math Round Math Floor等等 尽管之后你仍然需要演员阵
  • 将字符串转换为日期时间(使用 SSIS)

    我想将值 5 27 2013 16 42 37 490000 从平面文件 DT STR 读取 插入到 SQL Server 表的列 日期时间 中 如果我尝试在派生列中使用 DT DBDATE 或 DT DBTIMESTAMP 对其进行强制转