お盆休み諸々あって、だいぶ更新が空いてしまいましたが、前回の続きです。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の制限に引っかかっていたのでしょうか。
勉強をかねて不慣れな技術を紹介しました。