我正在为客户(谁是专业云)进行简短比较,以显示SSIS v Data Factory。由于我是后者的新手,我试图了解它的运作和限制。
简而言之:
调用存储过程
然后循环:
使用第一个名为
的过程中的值依次动态调用2个存储过程问题是,似乎没有办法调用存储过程,只是Azure表,Azure SQL等。我假设我需要自己调整JSON?如果是这样,是否有人有任何解释这一点的示例或URL。在这样的领域,似乎没有关于www的数据工厂的文档
由于
答案 0 :(得分:0)
您可以拨打stored procedure from Data Factory。您将需要SQL Server链接服务,这是存储过程将运行的位置。
你不能在循环中动态调用存储过程,如果你想这样做,我建议你只是在初始存储过程中执行它,因为这样会更有效。
目前您无法将参数传递给另一个存储过程,但您可以pass parameters relative to the slice that is running(切片时间等)
单个存储过程的JSON代码如下所示:
{
"name": "SprocActivitySamplePipeline",
"properties": {
"activities": [
{
"type": "SqlServerStoredProcedure",
"typeProperties": {
"storedProcedureName": "sp_sample",
"storedProcedureParameters": {
"DateTime": "$$Text.Format('{0:yyyy-MM-dd HH:mm:ss}', SliceStart)"
}
},
"outputs": [
{
"name": "sprocsampleout"
}
],
"scheduler": {
"frequency": "Hour",
"interval": 1
},
"name": "SprocActivitySample"
}
],
"start": "2016-08-02T00:00:00Z",
"end": "2016-08-02T05:00:00Z",
"isPaused": false
}
}
答案 1 :(得分:0)
您可以在活动中设置存储过程的参数,如下所示:
"storedProcedureParameters": {
"ProjectID": "0",
"StartDate": "2000/01/01",
"EndDate": "2100/01/01"
}
您无法在ADF活动中运行SQL语句。查看ADF管道中的custom activities。你有存储过程,spark,hive,pig等。你可以在一个简单的存储过程中运行truncate语句,这可以解决你的问题。