トップ回答者
SQLServerCompact3.5のLoader機能について

質問
-
【現状】
ハンディーターミナルにDB(SQLServerCompact3.5)を構築し、
VB.NETでハンディーターミナル用の各種アプリケーション開発を行っています。現在、ハンディーターミナルDBと基幹DBのマスタデータを同期させる方法として、
基幹DBからハンディーターミナルにマスタデータのCSVファイルをダウンロードし、
そのCSVファイルをハンディーターミナルDBに取込する機能を開発しております。このハンディーターミナルDBへのCSVファイル取込機能について、
現状ではCSVファイルのデータを1件ずつ読み込み、1件ずつInsertしているのですが、
処理レスポンスが思わしくありません。
(取込データ件数は約7万件ほどになります。)【質問】
SQLServerCompact3.5ではCSVファイルを一括Loadする機能は存在しないのでしょうか?こちらで調べたところ、
SQLServerではbcpユーティリティを利用してCSVファイルのLoad機能を実装できるようですが、
SQLServerCompactはbcpユーティリティが提供されていないようです。もしSQLServerCompact3.5にLoad機能が提供されていない場合、
その対応策や過去の対応事例などご存知であれば教えていただけないでしょうか。
回答
-
iga5iga さま よろしく。
私も VB2008 と SQLServerCompact 3.5 の愛用者です。
私の認識では、SQLServerCompact 3.5 はファイルベースの DB です。
従って、データの移動も DB ファイルのコピーにしたら如何でしょうか。基幹DB の環境上で SQLServerCompact の DB を作成してしまい、CSV 経由ではなく、単なるファイルコピーでの対応です。
ただし、タイムスタンプは通常のファイルと異なり当てになりません。(特に更新系)
別にファイルの履歴を判別する手段を講じたほうが良さそうです。- 編集済み ShiroYuki_Mot 2013年2月11日 14:27 語句追加
- 回答の候補に設定 佐伯玲 2013年2月14日 6:29
- 回答としてマーク 佐伯玲 2013年2月25日 1:57
すべての返信
-
以下、ご参考までに連携します。
もしも、Visual Studio を利用することができる環境でしたら、Visual Studioのアドインで、「SQL Server Compact Toolbox」というのが、SQLServerCompactでCSVなどをSQLServerにインポートするのに利用できるのだそうです。(サポートはVisual Studio 2010~)
※ それ以外にも便利そうな機能が。。!(SQL Server Compact Toolbox が最高に便利!)
参考にしたサイト:
Bulk Import of CSV Data Into a Microsoft SQL Server Compact Edition Table?
- 回答の候補に設定 佐伯玲 2013年2月14日 6:29
-
こんにちは、iga5iga さん
フォーラムオペレータの佐伯 玲 です。kyk_nk さんが紹介して下さった情報以外にも過去のスレッドではSSISを使用するという提案があったので紹介させて頂きます。
bcpのサポートについて
http://social.msdn.microsoft.com/Forums/ja/sqlserverja/thread/b579c492-f305-4fbc-ad23-0353c9fac9a1
SSISでSQL Server Compactへの取り込みは以下に概要が記載されております。SQL Server Compact による Integration Services の使用
http://msdn.microsoft.com/ja-jp/library/ms403372(v=sql.105).aspx
フラットファイルソースを変換元に指定し、必要に応じて変換を行った上で変換先にSQL Server Compactを指定する形になるのではないかと思います。フラット ファイル ソース
http://msdn.microsoft.com/ja-jp/library/ms139941(v=sql.105).aspxSQL Server Compact Edition 変換先
http://msdn.microsoft.com/ja-jp/library/ms140269(v=sql.105).aspxちなみにSQL Server Compact 3.5では問題ありませんが4.0ではSSISがサポートされていないのでご注意ください。
SQL Server Compact 4.0 でサポートされていない機能
http://msdn.microsoft.com/ja-jp/library/gg592946.aspx
ご参考になりましたら幸いです。
__________________________
日本マイクロソフト株式会社 フォーラム オペレータ 佐伯 玲- 回答の候補に設定 佐伯玲 2013年2月14日 6:30
-
iga5iga さま よろしく。
私も VB2008 と SQLServerCompact 3.5 の愛用者です。
私の認識では、SQLServerCompact 3.5 はファイルベースの DB です。
従って、データの移動も DB ファイルのコピーにしたら如何でしょうか。基幹DB の環境上で SQLServerCompact の DB を作成してしまい、CSV 経由ではなく、単なるファイルコピーでの対応です。
ただし、タイムスタンプは通常のファイルと異なり当てになりません。(特に更新系)
別にファイルの履歴を判別する手段を講じたほうが良さそうです。- 編集済み ShiroYuki_Mot 2013年2月11日 14:27 語句追加
- 回答の候補に設定 佐伯玲 2013年2月14日 6:29
- 回答としてマーク 佐伯玲 2013年2月25日 1:57
-
こんにちは、iga5iga さん
フォーラムオペレータの佐伯 玲 です。その後の状況はいかがでしょうか?
私が紹介させていただいた情報を含めさらに情報が寄せられております。私の方で勝手ながら一旦回答としてマークをさせていただきました。
参考になったり解決に至れば「回答としてマーク」を、もしうまくいかなかったりご不明な点があればその旨ご返信いただけましたらと思います。
宜しくお願いいたします。
__________________________
日本マイクロソフト株式会社 フォーラム オペレータ 佐伯 玲- 編集済み 佐伯玲 2013年2月25日 1:56 回答としてマークいたしました。