変数から複雑なオブジェクトを取得する際のSSISスクリプトタスク `無効なキャスト例外`

クォードノン

前提条件:

パッケージの実行の開始時にMSDynamics CRM Webサービスに接続し、パッケージ全体で接続を再利用したいのですが、SSIS変数を介して接続できませんでした。

OrganizationService.ExecuteWebサービスタスクウィザードでサポートされていないメソッドを使用しているため、接続マネージャーを使用できません

手順:

  1. Microsoft.Xrm.SdkdllをGACとスクリプト参照に追加しました。
  2. 作成されたデータフロータスクと2つの別々のスクリプトタスク
  3. 2つのパッケージ変数crmOrganizationService作成しcrmOrganizationServiceProxy
    • 両方のタイプ System.Object
    • script task 1そしてscript task 2それらを読み書きすることができます
  4. 内部script task 1

    • MS Dynamics CRMWebサービスをインスタンス化OrganizationServiceProxyOrganizationServiceて接続します。
    • オブジェクトの両方のインスタンスを変数に割り当てます

      //create public OrganizationServiceProxy _serviceProxy = new OrganizationServiceProxy(orgServiceManagement, adCredentials); public IOrganizationService _service =(IOrganizationService)_serviceProxy; //assign this.Variables.crmOrganizationServiceProxy= _serviceProxy; this.Variables.crmOrganizationService=_service;

  5. 内部script task 2

    OrganizationServiceProxy _serviceProxy = (OrganizationServiceProxy)this.Variables.crmOrganizationServiceProxy

エラー:

ステップ5でSystem.Object、としてキャストできないため、無効なキャスト例外を受け取りますMicrosoft.Xrm.Sdk.Client.OrganizationServiceProxy

回避策:

問題は、スクリプトタスク間で変数を渡す際の変数の基本的なボックス化にあると確信しています。それでも、私はより良い一般的なアプローチを見つけられませんでした。その中で、スクリプトタスク間でカスタムクラスのインスタンスを渡す必要があります。

ジョージ

ReflectionまたはカスタムSSISコンポーネントを使用することもできますが、それを行う価値はないかもしれません。

もう1つのオプションは、SSISパッケージとCRMの間で暫定Webサービスをホストし、接続をWebサービスにキャッシュすることです。多分それはあなたにとってはるかに簡単です。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

SkiaSharp無効なキャスト例外

分類Dev

NewtonSoftJson無効なキャスト例外

分類Dev

無効なキャスト例外ジェネリック

分類Dev

無効なキャスト例外ジェネリック

分類Dev

JavascriptオブジェクトをJSAPIPtrに変換する際の不正なバリアントキャスト例外

分類Dev

複雑なリスト内の特定のタイプのすべてのネストされたオブジェクトを取得する効率的な方法

分類Dev

ActionFilterの奇妙な無効なキャスト例外

分類Dev

IObservableの無効なキャスト、ランタイム例外

分類Dev

SSISのスクリプトタスクからオブジェクト変数をリセットする方法は?

分類Dev

unity3dディクショナリの無効なキャスト例外

分類Dev

スクリプトタスク内のオブジェクトSSIS変数にアクセスする方法は?

分類Dev

無効なキャスト例外が発生しました

分類Dev

LinkedHashMapを複雑なオブジェクトにキャストする

分類Dev

ネストされた複雑なオブジェクトから特定のオブジェクトを取得する

分類Dev

ジェネリック型としてインターフェイスを使用する場合の無効なキャスト例外

分類Dev

他のオブジェクトと重複するオブジェクトをリストから削除する(同じ変数を取得している)

分類Dev

C#スクリプトタスクのSSISオブジェクト変数に影響を与える

分類Dev

Azure Durable関数:トリガーからオーケストレーターに複雑なオブジェクトを渡すことによるJsonSerializationException

分類Dev

動的変数がクラス名となる複雑なJSONオブジェクトからC#クラスを作成する

分類Dev

オブジェクトの変数に基づいてオブジェクトのリストからオブジェクトを取得する

分類Dev

オブジェクトをキャストするためのオブジェクト指向プログラミングで、変数のスーパークラスとサブクラスをインスタンス化するのはなぜですか?

分類Dev

リスト内のオブジェクトから変数のリストを取得する

分類Dev

リストオブジェクトから変数を取得する方法は?

分類Dev

Javaで有効なJSONをキャストする際の例外

分類Dev

JSONから複雑なネストされたJavaオブジェクトを逆シリアル化する

分類Dev

無効なキャスト例外、リダイレクトまたはアラートなし

分類Dev

オブジェクトのリストからオブジェクトからリストを取得する

分類Dev

Springはレストテンプレートの複雑なオブジェクトからクエリパラメータを構築できません

分類Dev

ダウンストリームオブジェクトのサブセットから関与する複雑なアクティブレコードhas_manyからリストを取得するにはどうすればよいですか

Related 関連記事

  1. 1

    SkiaSharp無効なキャスト例外

  2. 2

    NewtonSoftJson無効なキャスト例外

  3. 3

    無効なキャスト例外ジェネリック

  4. 4

    無効なキャスト例外ジェネリック

  5. 5

    JavascriptオブジェクトをJSAPIPtrに変換する際の不正なバリアントキャスト例外

  6. 6

    複雑なリスト内の特定のタイプのすべてのネストされたオブジェクトを取得する効率的な方法

  7. 7

    ActionFilterの奇妙な無効なキャスト例外

  8. 8

    IObservableの無効なキャスト、ランタイム例外

  9. 9

    SSISのスクリプトタスクからオブジェクト変数をリセットする方法は?

  10. 10

    unity3dディクショナリの無効なキャスト例外

  11. 11

    スクリプトタスク内のオブジェクトSSIS変数にアクセスする方法は?

  12. 12

    無効なキャスト例外が発生しました

  13. 13

    LinkedHashMapを複雑なオブジェクトにキャストする

  14. 14

    ネストされた複雑なオブジェクトから特定のオブジェクトを取得する

  15. 15

    ジェネリック型としてインターフェイスを使用する場合の無効なキャスト例外

  16. 16

    他のオブジェクトと重複するオブジェクトをリストから削除する(同じ変数を取得している)

  17. 17

    C#スクリプトタスクのSSISオブジェクト変数に影響を与える

  18. 18

    Azure Durable関数:トリガーからオーケストレーターに複雑なオブジェクトを渡すことによるJsonSerializationException

  19. 19

    動的変数がクラス名となる複雑なJSONオブジェクトからC#クラスを作成する

  20. 20

    オブジェクトの変数に基づいてオブジェクトのリストからオブジェクトを取得する

  21. 21

    オブジェクトをキャストするためのオブジェクト指向プログラミングで、変数のスーパークラスとサブクラスをインスタンス化するのはなぜですか?

  22. 22

    リスト内のオブジェクトから変数のリストを取得する

  23. 23

    リストオブジェクトから変数を取得する方法は?

  24. 24

    Javaで有効なJSONをキャストする際の例外

  25. 25

    JSONから複雑なネストされたJavaオブジェクトを逆シリアル化する

  26. 26

    無効なキャスト例外、リダイレクトまたはアラートなし

  27. 27

    オブジェクトのリストからオブジェクトからリストを取得する

  28. 28

    Springはレストテンプレートの複雑なオブジェクトからクエリパラメータを構築できません

  29. 29

    ダウンストリームオブジェクトのサブセットから関与する複雑なアクティブレコードhas_manyからリストを取得するにはどうすればよいですか

ホットタグ

アーカイブ