Oracle データベースから SQL Server データ ウェアハウスにデータをダウンロードする SSIS パッケージがあります。このデータ ウェアハウスには、いくつかの環境が設定されています。開発、テスト、生産。開発とテストはマシンを共有し、Prod はスタンドアロンです。
SSIS パッケージが PROD マシンで実行されると、Varchar2 列が Oracle ソース データベースから MSSQL に DT_WSTR 形式でダウンロードされ、これが NVarchar 列に保存されます。IE では、関連するすべてのステップで Unicode がサポートされています。
この同じパッケージが DEV/Test ボックスの同じソース データベースに対して実行されると、外部列が Varchar であると認識され、これがデータ フローの DT_STR に派生し、NVarchar 列への格納が拒否されます。
すべての OS は Win2K8r2、MSSQL 2008 64 ビットです。パッケージは 32 ビット モードで実行されます。BIDS または SQL エージェントから実行すると、同じ動作が見られます。
理由を推測したい人はいますか?外部メタデータの検証を無効にする提案 ( https://stackoverflow.com/a/18383598/2903056 )を既に見ましたが、それは私たちの状況では実用的な提案ではありません。