私はSSISが比較的新しいです。 Microsoft OLEDB for Oracleを使用してOracleデータベースから情報を抽出しようとしていますが、次のクエリを使用しています。
SELECT ID FROM Test
次のエラーメッセージが表示されます:the value cannot be converted because of a potential loss of data
。クエリを次のように変更すると、動作します:
SELECT '1' FROM Test
IDが整数ではないため、失敗していると思います。ただし、フラットファイル接続マネージャーは、OutputColumnWidthが50であることを示しています。何が間違っていますか?
更新16:30 GMT
これについてもう少し調べましたが、問題の原因となっているのは、「頻度」または「なし」のヒストグラムを持つ列のようです。 「高さのバランス」のヒストグラムがあるものは問題ないようです。
これはよくあることです。列のメタデータを決定できない別のタイプのシステムからsisへのインポートの多くの場合のデフォルトは、デフォルトでstr(50)になっています。これを1文字の列にプッシュしようとしているため、データが失われる可能性があると想定しています。右クリックして「高度なエディタを表示...」を選択することにより、ソースコンポーネントに移動します。
次に、最後のタブ(入力および出力プロパティ)に移動します
OLE DB Source Outputの横にある+をクリックします
[出力列]の横の[+]をクリックします
ID列を強調表示します
ダイアログボックスの右側にあるLength Data Typeプロパティまでスクロールし、50から1に変更します。