sql >> データベース >  >> RDS >> Sqlserver

SSIS 経由でアップロードする前にデータを検証する

    必須の値などを持たない一時テーブルにロードし、それをメイン テーブルに追加する前に確認するのが最も簡単な場合があります。

    コメントを編集

    Dim cn As ADODB.Connection
    Dim rs As ADODB.Recordset 
    
    ''This is not necessarily the best way to get the workbook name
    ''that you need
    strFile = Workbooks(1).FullName
    
    ''Note that if HDR=No, F1,F2 etc are used for column names,
    ''if HDR=Yes, the names in the first row of the range
    ''can be used. 
    ''This is the Jet 4 connection string, you can get more
    ''here : http://www.connectionstrings.com/excel
    
     strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strFile _
        & ";Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"";"
    
    Set cn = CreateObject("ADODB.Connection")
    Set rs = CreateObject("ADODB.Recordset")
    
    cn.Open strCon
    
    ''Note that HDR=Yes
    ''Pick one:
    strSQL = "SELECT Frst, Secnd FROM TheRange WHERE SomeField Is Null" ''Named range
    strSQL = "SELECT Frst, Secnd FROM [Sheet1$C3:C67] WHERE Val(Secnd)=0" ''Range
    strSQL = "SELECT Frst, Secnd FROM [Sheet1$] WHERE First<Date()" ''Sheet
    
    rs.Open strSQL, cn
    
    Sheets("Sheet2").Cells(2, 1).CopyFromRecordset rs
    


    1. sqlplusの結果をxmlファイルにスプールするときに不要な新しい行

    2. SQLite JSON_SET()

    3. MySQL-SELECT WHEREフィールドIN(サブクエリ)-非常に遅い理由

    4. SQL Serverで日付を切り捨てる最良の方法は何ですか?