デバッグできない単純なスクリプトを作成しました。 Visual Studio 2015でSSISの変数にディレクトリの内容を保存しようとしています。C#スクリプトのSSISオブジェクト変数に影響するタスク
私のSSISパッケージに変数を作成し、そのデータ型をObjectに設定しました。 は、私はこのコードが含まれている私のパッケージスクリプトタスクに追加しました:
#region Namespaces
using System;
using System.Data;
using Microsoft.SqlServer.Dts.Runtime;
using System.Windows.Forms;
using System.IO;
using System.Collections.Generic;
#endregion
namespace ST_c6399821104c42c2859b7b2481055848 {
[Microsoft.SqlServer.Dts.Tasks.ScriptTask.SSISScriptTaskEntryPointAttribute]
public partial class ScriptMain : Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase {
public void Main() {
string CSVFilesCompletePath;
if (Dts.Variables.Contains("User::CSVFilesPathAbsolute") == true
&& Dts.Variables.Contains("User::CSVFilesPathRelativeCountry") == true
&& Dts.Variables.Contains("User::CSVFilesCountryObject") == true) {
CSVFilesCompletePath = Dts.Variables["User::CSVFilesPathAbsolute"].ToString() + Dts.Variables["User::CSVFilesPathRelativeCountry"].ToString();
String[] fileListTable = Directory.GetFiles(CSVFilesCompletePath, "*.xlsx");
List<string> fileList = new List<string>(fileListTable);
Dts.Variables["User::CSVFilesCountryObject"].Value = fileList;
}
Dts.TaskResult = (int)ScriptResults.Success;
}
#region ScriptResults declaration
/// <summary>
/// This enum provides a convenient shorthand within the scope of this class for setting the
/// result of the script.
///
/// This code was generated automatically.
/// </summary>
enum ScriptResults
{
Success = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Success,
Failure = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Failure
};
#endregion
}
}
としては、ここで説明: SSIS Script Task Get File Names and Store to an SSIS Object Variable
をしかし、私はSSISを通してそれを起動しようとすると、このコードは、次のエラーを返します求人:
変数が正しくReadWriteVariablesとしてスクリプトウィザードで設定されています。
問題は、SSIS変数に影響を与えて、String[]
を入力しようとすると、このエラーが表示されることです。
Directory.GetFiles
コールまたは全身ででのtry-catchを追加
私はSSISをやってからしばらくしていましたが、スクリプトで書き込み可能な変数を設定する必要があることを覚えているようです。あなたはそれをやりました? – AgapwIesu
はい、私の記事の一番下にあるように、私はスクリプトタスクウィザードでReadWriteVarialbeとして変数を設定しました –
残念です。 – AgapwIesu