0

50 列以上のデータを検証するためにスクリプト コンポーネントを使用しています。しかし、もっと時間がかかります。ssisのサードパーティツールを使用せずに、この検証のソリューションを提供する機関はありません。

例えば ​​:

次の点でdob列を検証しました

  1. 日付形式が正しいかどうか。これは私の期待する形式 (mm/dd/yyyy) です。
  2. DOB が空ではありません。
  3. DOB 値は (12/31/9999) 以下です。
  4. DOB値もチェックは日付かどうかです。
4

1 に答える 1

1

Excel ファイルのフィールドに疑問がある場合は、データをステージング テーブルにインポートし、すべてのフィールドを varchar としてテーブルを作成し、そこにファイルからデータを挿入できます。データがロードされたら、 SQL検証またはssisコンポーネントを使用してデータを検証する場合、どちらが高速かをテストする必要があります.

編集 1: この後、次のような各フィールドを検証する関数を作成できます。

CREATE Function [dbo].[Validate_Field](
    @Code [varchar](2),
    @Code2 [varchar](2)
)
Returns VarChar(50) AS
BEGIN
    Declare @return Varchar(50)   
    SET @Salida = ''    
    IF @Code = '29' RETURN 'Something 1'    
    IF @Code2 = '21' RETURN 'Something 2'   
    ELSE RETURN 'Missing'   
    Return (@return)
END


SELECT [dbo].[Validate_Field](Field1, Field2)
FROM Staging_Table

これが役立つことを願っています。

于 2012-12-07T17:48:29.087 に答える