为 SSIS 连接管理器对象设置数据类型而不是手动/一个接一个?
Set datatypes for SSIS Connection Manager object other than manually / one-by-one?
有大量 (TSV) 文件需要(定期)(通过 SSIS 包)导入现有的 MSSQL 数据库 table。从 OLE DB Destination
任务中获取许多数据类型问题,例如:
[Flat File Source [2]] Error: Data conversion failed. The data conversion for column "PRC_ID" returned status value 2 and status text "The value could not be converted because of a potential loss of data.".
连接管理器对来自 Flat File Source
的每个 table 任务的类型建议不够准确,无法在 运行 导入包(和数据库类型是正确的,所以不想为了加载 TSV 而将它们全部(错误地)制作成字符串。
有没有办法在单个文件中加载列的类型数据,而不是在连接管理器 window 中为 Flat File Source
任务一个一个地加载类型数据(这会非常不方便,因为每个 table 可能有很多字段)?
我有用于创建 TSV 对应的每个 table 的创建语句,可以以任何方式使用吗? Flat File Source
的列的固有数据类型可以来自其 OLE DB Destination
吗?还有其他方法可以避免手动设置每种类型吗?
从平面文件源更改列数据类型与将所有数据类型保留为字符串并将它们链接到 OLE DB 目标(不同数据类型)之间没有区别。由于这两种方法都在执行隐式数据转换,因为平面文件是文本文件并将所有数据存储为文本(列没有元数据)。
如果您希望自动设置数据类型,我认为除了 solution you mentioned in the comments 或以编程方式创建包之外没有其他方法可以做到这一点(即使我觉得它对那样做)。
有大量 (TSV) 文件需要(定期)(通过 SSIS 包)导入现有的 MSSQL 数据库 table。从 OLE DB Destination
任务中获取许多数据类型问题,例如:
[Flat File Source [2]] Error: Data conversion failed. The data conversion for column "PRC_ID" returned status value 2 and status text "The value could not be converted because of a potential loss of data.".
连接管理器对来自 Flat File Source
的每个 table 任务的类型建议不够准确,无法在 运行 导入包(和数据库类型是正确的,所以不想为了加载 TSV 而将它们全部(错误地)制作成字符串。
有没有办法在单个文件中加载列的类型数据,而不是在连接管理器 window 中为 Flat File Source
任务一个一个地加载类型数据(这会非常不方便,因为每个 table 可能有很多字段)?
我有用于创建 TSV 对应的每个 table 的创建语句,可以以任何方式使用吗? Flat File Source
的列的固有数据类型可以来自其 OLE DB Destination
吗?还有其他方法可以避免手动设置每种类型吗?
从平面文件源更改列数据类型与将所有数据类型保留为字符串并将它们链接到 OLE DB 目标(不同数据类型)之间没有区别。由于这两种方法都在执行隐式数据转换,因为平面文件是文本文件并将所有数据存储为文本(列没有元数据)。
如果您希望自动设置数据类型,我认为除了 solution you mentioned in the comments 或以编程方式创建包之外没有其他方法可以做到这一点(即使我觉得它对那样做)。