ssis でソース テーブルから宛先テーブル (SQL サーバーから SQL サーバー) にテーブルを更新しようとするたびに、更新クエリを使用してストアド プロシージャを実行します。OLE DB コマンドを使用してこの SP を実行します。OLE DB コマンドを実行するには、DT_WSTR から DT_STR へのデータ変換を行う必要があります。
私の質問は、このデータカバーなしで更新を実行することは可能ですか? 私が混乱しているのは、SQLサーバーからデータをプルしてSQLサーバーにデータをプッシュしていることです。では、なぜその varchar が異なるデータ エンコーディング (DT_WSTR と DT_STR) を持っているのでしょうか?
しかし、単に挿入を行う、つまり更新を行わない (OLE DB コマンドを使用する) 場合、カバーを行う必要はなく、SSIS パッケージは正常に動作します。現在、DT_WSTR と DT_STR の問題はありませんが、OLE DB コマンドを実行しようとしたときにのみ問題が発生します。ssis はどのように nvarchar から varchar にデータを挿入していますか?
これがばかげた質問であれば申し訳ありません。私はSSISにまったく慣れていません。