読者です 読者をやめる 読者になる 読者になる

Azureの小ネタ (改)

~Azureネタを中心に、色々とその他の技術的なことなどを~

LINQPad で SQL Azureにデータを挿入

SQL Azure LINQPad

お盆休み諸々あって、だいぶ更新が空いてしまいましたが、前回の続きです。SQL Azure Houstonで作成したテーブルにLINQPad経由でデータを挿入してみます。挿入するデータは、郵便番号なデータです。オンプレミスからのデータ挿入となるので、余り大きいと時間がかかるかもしれないため、県レベルでやったほうがいいかもしれません。

LINQPadの接続先が該当DBになっているか確認して、以下を実行しました。このあたりの技術はうといので、正しいコードか不明。

void Main()
{
    var csv = @"C:\Users\statemachine\Downloads\22shizuo\22SHIZUO.CSV";
    var list = new List<ZipCode>();
    
    // CSVの読み込み (VBにはあるんですねぇ)
    var parser = new Microsoft.VisualBasic.FileIO.TextFieldParser(csv, Encoding.GetEncoding(932));
    parser.SetDelimiters(",");
    while (!parser.EndOfData) 
    {
        string[] data = parser.ReadFields(); 
        // ZipCode作成
        var z = new ZipCode() {
            Code       = data[0],
            ZipCode5   = data[1],
            ZipCode7   = data[2],
            KanaPerf   = data[3], 
            KanaCity   = data[4], 
            KanaTown   = data[5], 
            Perf       = data[6],
            City       = data[7],
            Town       = data[8],
        };
        list.Add(z);        
    }
    // リストに格納したZipCodeをサブミット
    Console.WriteLine (list.Count);
    ZipCodes.InsertAllOnSubmit(list);
    ZipCodes.Context.SubmitChanges();
    Console.WriteLine ("Done");
}

SQL Server Management Studioで確認した結果。静岡県データをぶっこんだ結果、格納されていました。

実行にかかった時間はは、5分弱。超えていたら、SQL Azureの制限に引っかかっていたのでしょうか。

勉強をかねて不慣れな技術を紹介しました。