1

SQL OLEDB データ ソース (SQL Server) を作成しました。コマンド テキストは次のとおりです。

select replace(convert(varchar(10), dob, 111), '/', '-') As DOB FROM Person

[OLE DB ソース [1]] 警告: 長さ 8000 のデータベース列 "DOB" から長さ 10 のデータ フロー列 "DOB" にデータを取得すると、切り捨てが発生する可能性があります。

外部列を 8000 から 10 に変更しようとすると (クエリに記載されているように)、デザイナーによって自動的に元に戻されます。外部列はデータ ソース内のメタ データを表していると思いました。データ ソースの dob (上記のクエリを参照) は varchar(10) です。なぜ8000の長さを持たなければならないのですか? 私は SSIS の経験があまりありません。

4

2 に答える 2

4

私は解決策を見つけました。私はこれをしなければなりませんでした:

select cast(replace(convert(varchar(10), dob, 111), '/', '-') As varchar(10)) As DOB from Person
于 2012-09-03T10:15:50.257 に答える
2

これを克服するための別の回避策があります。「ソース」ブロックの「エラー出力」タブで適切なプロパティを設定することにより、エラーを無視して「切り捨て」エラーからパッケージを実行できます。

于 2012-09-04T07:40:20.207 に答える