通过SSIS创建json格式文件

时间:2014-07-04 00:38:49

标签: ssis

现在我的SSIS包以文本格式创建一个平面文件。但现在客户端要求提供json格式的文件。我不知道如何以json格式放置文件。如果有人知道这些知识,请分享。

由于

2 个答案:

答案 0 :(得分:4)

JSON(JavaScript Object Notation)是一种轻量级数据交换格式。它是XML的替代品。目前SSIS不为Json提供任何形式的支持。

我假设您要从数据库创建JSON文件。 SQL Server提供了很好的functionality to support XML。您可以使用FOR XML AUTO子句将查询结果转换为XML格式。有第三方类库,Json.NET是一种流行的高性能JSON framework for .NET

因此,以XML格式获取查询结果,将其存储在变量中,编写客户脚本,您可以将输入xml解析为JSON并使用原始文件目标保存结果。

还可以查看以下资源。

答案 1 :(得分:1)

我有两种方法可以做到这一点。

V1 1)数据泵以提交XML查询。 2)使用newtonsoft将XML文件转换为JSON文件。

V2 1)使用PowerShell,从SSIS调用PowerShell。 e.g。

$Result = @() $commandSourceData = New-Object system.Data.SqlClient.SqlCommand($SQL, $sourceConnection) $reader = $commandSourceData.ExecuteReader() $Counter = $Reader.FieldCount while ($Reader.Read()) { $tuple = @{ } for ($i = 0; $i -lt $Counter; $i++) { $tuple."$($Reader.GetName($i))" = "$(if ($Reader.GetFieldType($i).Name -eq 'DateTime') { $Reader.GetDateTime($i) } else { $Reader.GetValue($i) })"; } $Result += $tuple } $Reader.Close() $Result | convertTo-JSON | Out-File $OutputFile -Force