SQLCEToolbox は非常に有望に見えます。
私はそれをインストールし、VS 2012 を開き、ツール | を選択しました。SQL Server Compact Toolbox を使用すると、WebMatrix で作成した (これも迅速かつ簡単に) sdf データベースへの接続をすばやく簡単にセットアップできます。
次に、SQLCEToolbox のツリービューでデータベースを右クリックし、[CSV ファイルからインポート] を選択しました。
注: ファイルの最初の行 (行/行 0) で列名を明示的に指定し、ID/主キー/ID 値を明示的に追加する必要があります (そのような列がある場合)。
csv ファイルのさまざまなフォーマット エラーを修正すると、正常にインポートされたように見えました。しかし、私はこのエラーメッセージを受け取りました:
Error Code: 80004005
Message : The data was truncated while converting from one data type to another. [ Name of function(if known) = ]
Minor Err.: 25920
Source : SQL Server Compact ADO.NET Data Provider
私のデータの形式は次のとおりです。
1,SomeCategory,SomeName,SomeURL,Longitude,Latitude
例として、サンプル行を次に示します。
3,ArtGallery, Henry Miller Memorial Library,http://www.henrymiller.org/, -121.7537834,36.2207945
int ID 列を除いて、それらはすべて nvarchar(50) 列です。そのため、URL の一部が 50 文字を超えていることに気付きました。そのため、WebMatrix では、その列を nvarchar(128) に変更しました。インポートを再試行すると、最初の問題は解決されたようですが、次のようになります。
Error Code: 80004005
Message : The column cannot be modified. [ Column name = ID ]
Minor Err.: 25004
Source : SQL Server Compact ADO.NET Data Provider
Err. Par. : ID
ID 列は自動的に更新されるため、csv ファイルに含める必要はありません。だから私はこれに変更しました:
Category,Name,URL,Longitude,Latitude
ArtGallery, Henry Miller Memorial Library,http://www.henrymiller.org/, -121.7537834,36.2207945
...しかし、そのようにレコードをインポートしようとすると(行0から「ID」が削除され、各行/レコードから対応する値が削除されます)、インポートしようとすると、次のようになります:
Error Code: 80004005
Message : The data was truncated while converting from one data type to another. [ Name of function(if known) = ]
Minor Err.: 25920
Source : SQL Server Compact ADO.NET Data Provider
http://sqlcetoolbox.codeplex.com/に質問を投稿しようとしましたが、そうしようとすると、(SQL CE ツールボックス固有の領域ではなく) 一般的な codeplex 領域に移動するだけでした。
では、ここで何が問題になっているのでしょうか (改訂された行 0 と別のサンプル行を以下に示します)。最長の URL はわずか 98 文字です。
データまたは方法論の何が問題になっていますか?