3

このコードを介して DateTime.Now 値を DT_DBTIMESTAMP フィールドに渡そうとすると

public override void Input0_ProcessInputRow(Input0Buffer Row)
{
    Output0Buffer.AddRow();
    Output0Buffer.Dt = DateTime.Now;
}

それはうまくいきます。しかし、Output0Buffer.Dt が DT_DBTIMESTAMP2 型の場合、次のメッセージが表示されます。

「値が大きすぎて、バッファの列データ領域に収まりません。」

スクリーンショット

ただし、DT_DBTIMESTAMP2 は DT_DBTIMESTAMP より大きくする必要があります

値を適切に渡す方法はありますか?

4

2 に答える 2

1

検索した後、この記事を見つけました: Mapping C# DateTime to SQL Server datetime2 via SSIS、これがあなたが探しているものだと思います。

また、回避策を実行できます

出力列の型は変更せず、DT_DBTIMESTAMP のままにしてください。

スクリプト コンポーネントの外側で、データ変換変換を追加し、出力列を DT_DBTIMESTAMP2 に変換します。

于 2017-05-02T14:38:51.607 に答える