2016-04-06 46 views
0

SSISプロジェクトでTargetServerVersion = SqlServer2012を設定すると、スクリプトコンポーネントがnullオブジェクト例外をスローします。SSIS TargetServerVersionによってスクリプトコンポーネントのヌル行が発生する

CSVファイルから約140,000レコードをインポートしています。私がレコードを取得することを確認するために、スクリプトコンポーネントのステップを削除し、フローを問題なく実行しました。

enter image description here

私は、(これは非常にデータファイルにうまく働いた)スクリプトコンポーネントに再度追加し、私がnull例外を取得。私は、スクリプトをデバッグし、Rowプロパティの値をチェックすると

それは、次の言葉:

?Row 
{Input0Buffer} 
    Buffer: {Microsoft.SqlServer.Dts.Pipeline.PipelineBuffer} 
    BufferColumnIndexes: {int[2]} 
    MembershipPlanName: 'Row.MembershipPlanName' threw an exception of type 'System.NullReferenceException' 
    MembershipPlanName_IsNull: 'Row.MembershipPlanName_IsNull' threw an exception of type 'System.NullReferenceException' 

残りの行を基準行にしようとすると、スクリプトが失敗します。 TargetServerVersionを2016または2014に変更すると、パッケージは正常に動作します。私もBufferWrapper.csを見て、私はVS2012のためのSSDTをインストール欲求不満のそこ

?Buffer 
{Microsoft.SqlServer.Dts.Pipeline.PipelineBuffer} 
    ColumnCount: 2 
    ColumnInfo: 0x0000000000000000 
    CurrentRow: 0 
    EndOfRowset: false 
    Mode: Input 
    RowCount: 9936 
    RowSize: 260145280 
    RowStarts: 0x000000000f82b700 

答えて

1

でいくつかのデータがあるように思わdebegging中に

。何らかの理由で、VS2015ではすべてがうまく動作しました。なぜそれが働いたのか分かりませんが、誰かが似たような問題を抱えている場合はこれを投稿します

関連する問題