SQLCEToolbox 看起来很有前途。
我安装它,打开 VS 2012,选择工具 | SQL Server Compact Toolbox,快速轻松地建立与我在 WebMatrix 中创建的 sdf 数据库的连接(也快速轻松地)。
然后我右键单击 SQLCEToolbox 的树视图中的数据库并选择从 CSV 文件导入。
注意:必须在文件的第一行(行/行 0)显式指定列名,并显式添加 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”并从每行/记录中删除相应的 val)并尝试导入时,我得到:
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/上发布一个问题,但尝试这样做只是将我带到了一个通用的 codeplex 区域(而不是 SQL CE Toolbox 特定的区域)。
那么现在可能是什么问题(修改后的第 0 行和另一个示例行如下所示)?最长的 URL 只有 98 个字符。
我的数据或方法有什么问题?