カスタム オブジェクトのリストを作成し、それらを SSIS オブジェクト変数に設定するスクリプト タスクがあります。
カスタムクラス:
public class Dog
{
public string Name { get; set; }
}
List にデータを入力し、SSIS オブジェクト変数 "myDogs" に設定するコード:
public void Main()
{
List<Dog> dogs = new List<Dog>();
Dog dog1 = new Dog();
dog1.Name = "Fido";
Dog dog2 = new Dog();
dog1.Name = "Roofus";
dogs.Add(dog1);
dogs.Add(dog2);
Dts.Variables["myDogs"].Value = dogs;
}
2 番目のスクリプト タスクでは、"myDogs" オブジェクト変数を読み取ってリストに戻そうとしています。
2 番目のスクリプト タスクでコピーされたカスタム クラス:
public class Dog
{
public string Name { get; set; }
}
2 番目のスクリプト タスクのメイン コード:
public void Main()
{
var varDogs = Dts.Variables["myDogs"].Value;
List<Dog> dogs = new List<Dog>();
dogs = (List<Dog>)varDogs;
}
私の varDogs オブジェクトは、SSIS オブジェクト変数 "myDogs" からデータを正しく読み込みます。ただし、varDogs を Dog 型の List にキャストしようとすると、「System.Collections.Generic.List 型のオブジェクトをキャストできません」というエラー メッセージが表示されます。
この var データをリストにキャストする方法を知っている人はいますか? ありがとう。