【发布时间】:2019-03-07 11:06:16
【问题描述】:
我必须在 MySQL 服务器中建表。
标题表。
╔════════════╦════════╦═════════════╦═════════════════╦══════════╗ ║ RecordType ║ CustID ║ DataGenDate ║ DataCreatedDate ║ SourceID ║ ╠════════════╬════════╬═════════════╬═════════════════╬══════════╣ ║ H ║ #1234 ║ 2018-01-05 ║ 2018-01-01 ║ V301 ║ ╚════════════╩════════╩═════════════╩═════════════════╩══════════╝事务表
╔════════════╦══════════╦══════════════╦══════════════╦════════════╗ ║ RecordType ║ ProdCode ║ OpeningValue ║ ClosingValue ║ TranDate ║ ╠════════════╬══════════╬══════════════╬══════════════╬════════════╣ ║ T ║ AL001 ║ 95 ║ 90 ║ 2018-01-01 ║ ╠════════════╬══════════╬══════════════╬══════════════╬════════════╣ ║ T ║ AL002 ║ 54 ║ 40 ║ 2018-01-01 ║ ╠════════════╬══════════╬══════════════╬══════════════╬════════════╣ ║ T ║ AL003 ║ 63 ║ 43 ║ 2018-01-02 ║ ╠════════════╬══════════╬══════════════╬══════════════╬════════════╣ ║ T ║ AL004 ║ 56 ║ 23 ║ 2018-01-01 ║ ╚════════════╩══════════╩══════════════╩══════════════╩════════════╝
Header Table 有 Header Information,Transaction 表有 Transaction Data。 我希望通过 SSIS 生成以下格式的文本文件(竖线分隔的“|”)。
H|#1234|2018-01-05|2018-01-01|V301
----------------------------------------
T|AL001|95 |90 |2018-01-01
T|AL002|54 |40 |2018-01-01
T|AL003|63 |43 |2018-01-02
T|AL004|56 |23 |2018-01-01
我尝试使用 ole DB 源和平面文件目标来导出文件,但没有成功。只有我得到交易或标题行。
【问题讨论】:
-
不确定你是想从 MySQL 还是 SQL Server 获得这个(我怀疑是后者),但是,你在这里要求的是一个动态的 Pivot。但是,SSIS 无法处理导出数据的动态数据透视。 SSIS 需要数据的静态定义。如果您想在导出中使用这种类型的数据,我建议您使用 SSRS 和矩阵。
-
嗨@Larnu 我想从 SQL Server 得到这个
-
这并没有改变我上面关于动态数据的 cmets。
-
您可以使用 C# 脚本任务获取数据集并动态生成 .csv 或 Excel 文件。对于 Excel,尽管您需要在 SSIS 服务器上安装正确的 .dll。
标签: sql-server ssis sql-server-2012 ssis-2012