0

私は数年前にこの問題に遭遇し、修正があったことを望んでいますが、それについてはわかりません。SSISパッケージの制御フローで「SQL実行タスク」を使用して「bigint」ID値を取得しています。タスクはこれをInt64SSIS変数に配置することになっていますが、「変数「User::AuditID」に割り当てられている値のタイプが現在の変数タイプと異なります。変数は実行中にタイプを変更できない場合があります。変数」というエラーが表示されます。 Object型の変数を除いて、型は厳密です。」

私がこれを数年前にMSの注意を引いたとき、彼らは、bigintをSSISオブジェクト変数に配置し、必要に応じて値をInt64に変換することによって、これを「回避」する必要があると述べました。これが修正されたかどうか誰かが知っていますか、それとも私はまだこの混乱を「回避」する必要がありますか?


編集:

サーバー統計

  • 製品: Microsoft SQL Server Enterprise Edition
  • オペレーティングシステム: Microsoft Windows NT 5.2(3790)
  • プラットフォーム: NT INTEL X86
  • バージョン: 9.00.1399.06
4

2 に答える 2

1

BIGINT値をオブジェクト変数ではなく文字列変数に読み込む必要があります。BIGINTの結果をInt64変数に格納できないのはなぜですか。

于 2010-06-04T20:59:11.213 に答える
0

ExecuteSQLタスクを使用して、問題なくBIGINTをInt64に取り込むことができました。結果セットが単一行の場合は、ExecuteSQLタスクでそのように設定されていることを確認してください。結果セットが複数の行である場合は、結果セットにオブジェクトタイプ変数を使用する必要があります。次に、ループ構造内で変数を設定します。BIGINT値のセットはBIGINTとは異なるため、これは「回避策」ではないと思います。

私はSQL2008を使用していますが、SSISは、ソースデータに関係なく、(ほとんど)同じように処理する必要があります。

于 2010-06-01T15:59:14.463 に答える