这是直接从csv,excel或将数据源转换为xml格式保存到sql server的更好方法吗?

时间:2015-01-21 03:37:14

标签: sql-server xml excel csv

假设我的存储过程有 -

插入tablename(fieldA,fieldB,fieldC,)值(X,Y,Z)。

设置有100个字段。用户只给我3值,这实际上是不可预测的。其他97个字段为null。 所以最好的方法是将我的数据保存到sql中。数据源可以是csv文件或excel,也可以是用户从UI输入。 在所有情况下都需要一个中间xml来制作键值对然后保存到数据库(sql)中。或者有一些ado.net的应用程序? 请帮忙!!!

2 个答案:

答案 0 :(得分:0)

Excel是一个可怕的想法;它喜欢为您重新格式化数据,无论您是否想要它。

XML是一种非常庞大的格式,容易受到小错误(缺少尖括号或结束标记)的影响,导致出现重大问题。

定界文件需要严格定义数据,以免包含分隔符,但您可以将BCPBULK INSERT与格式文件一起使用。至少选择一个罕见的分隔符,如unit separator,或者,如果你需要,选择标签,管道或波浪号。

固定宽度文件占用的空间多于分隔符,但在文本问题中通常没有分隔符,您可以再次使用BCPBULK INSERT格式文件。< / p> GUI对于100个领域来说并不是非常好。

答案 1 :(得分:0)

因为&#39;良好的形式&#39;指示在将数据写入数据库之前擦除数据,您需要为每个独立数据源编码。 MSSQL(我假设你使用的是SQL Server)有一些允许BULK INSERT的机制,但是应该在已知数据干净的情况下完成。

我建议不要让NULL(s)将默认字段值设置为有用的东西。为每个数据源编写代码。