0

私は ssis 2008 を使用しており、as400 データベースからデータを取得しようとしています。

データ フロー タスクがあり、その中に Oledb ソースがあり、そこに Sql コマンドへのデータ アクセス モードがあり、クエリがあります。

select *
from table1
where name = ?

次に、[パラメーター] ボタンをクリックして、パラメーターの名前に「name1」を設定します。ssis を実行すると、次のエラーが発生しました。

エラー: SQL コマンドには ""00001"" という名前のパラメーターが必要ですが、パラメーター マッピングに見つかりません。

そのため、パラメーター名を ""00001"" に変更すると、ssis は正常に機能しました。

ここでの問題は、この同じ ssis を別の as400 サーバーと古いサーバーで実行する必要があり、実行するとエラーが表示されたことです。

エラー: SQL コマンドには "" という名前のパラメーターが必要ですが、パラメーター マッピングに見つかりません。

そのため、他のサーバーは別のパラメーター名を必要とします。

問題を回避するために、Oledb ソースとは異なるものを使用してこのプロセスを実行する別の方法はありますか?

私に何ができる?

4

2 に答える 2

0

ここに見られるように、これは as400 のバグのようです

そのスレッドで、あるユーザーは次のように述べています。 . ドライバーを使用して 00001 を渡すことは正しいです。"

ご覧のとおり、使用する方法は問題ではありません。動作させるために必要なことは、AS400 が必要とする名前のパラメーターを渡すことです。正しい名前のパラメーターが渡された場合、クエリは正しく機能します。

于 2013-04-13T22:25:39.620 に答える
0

SQL 2012 と as400 システムを使用しており、as400 には ODBC ソースを使用しています。私たちのセットアップでは、うまくいっているようです。だから、ODBCを試してみてください。

于 2013-04-12T07:33:09.580 に答える