SSIS 2012 を使用して、Excel ファイルをデータベースにインポートしています。インポート時にデータベースに入力する必要があるフィールドの 1 つを Excel ファイルに保存できません。フィールドに入力される値は、データベースでレコードが作成されているときにのみ知ることができます。私が使用している特定のソフトウェアは、このフィールドに最後に使用された値を別のデータベースに保存します。インポート時にレコードを作成するとき、このフィールドをインクリメントし、新しい値を新しいレコードに挿入する必要があります。この値を生成する T-SQL スクリプトがありますが、インポート中に各行の値を取得する方法を知るには SSIS について十分に知りません。
必要な値を生成するために使用しているスクリプトは次のとおりです。
--Declare some variables
DECLARE @I_sCompanyID smallint,
@O_mNoteIndex numeric(19,5),
@O_iErrorState int
--Get the CompanyID
select @I_sCompanyID = CMPANYID
from DYNAMICS..SY01500
where INTERID = DB_Name()
--Get and increment the next note index
exec DYNAMICS.[dbo].[smGetNextNoteIndex] @I_sCompanyID, 1, @O_mNoteIndex output, @O_iErrorState output
--Print the Next Note Index
SELECT @O_mNoteIndex