【发布时间】:2018-04-02 13:56:23
【问题描述】:
具有 2 个任务的数据流,导入平面文件(源)和数据库(目标)。我有一个源(csv Flate 文件),[运行日期] 的数据类型是文件格式的 DT_STR,它直接进入数据库表,其中 [运行日期] 列是 smalldatetime,sql server 2000。
现在我的源文件中有一个 [运行日期] 列,例如 05/04/2018。
当我在本地运行 SSIS 包时,我在 [运行日期] 列的导入表中得到 05/04/2018。当我在服务器上运行它时,我得到 04/05/2018 作为 [运行日期]。这是错误的。如何确保 SSIS 在服务器上运行包时进行正确的转换?我无法更改服务器设置或区域设置。
【问题讨论】:
-
看看 Set DateFormat MDY 或 Set DateFormat DMY ...我对您想要的日期格式有点困惑
-
05/04/2018 是正确的日期格式
-
MDY 或 DMY 还是模棱两可?
-
日期格式是在 sql server 上定义的,与本地机器不同。在 sql server 2008 及更高版本中,您可以使用 SET DATEFORMAT。当您使用 sql server 2000 - 您应该明确转换日期格式。 docs.microsoft.com/en-us/sql/t-sql/functions/…
-
DMY 。这里的问题是,当 SSIS 将字符串转换为 DATE 以放入 Database Table 时,它正在决定字符串应该是什么。如果服务器语言环境是美国,那么它做错了。可以覆盖 SSIS 设置吗?
标签: sql-server ssis-2008