【发布时间】:2017-10-28 08:01:10
【问题描述】:
我需要通过逗号分隔值导入 SQL 服务器中的数据。
这是一个示例行
37;3.90;13;3.25;14;1.70;0;1;0-1;2;3;1;3-1;1;29/1/2000 5:00:00 μμ;
如果我没记错的话,最后一个字段29/1/2000 5:00:00 μμ 是不可接受的,因为它包含文化数据。
具体字段是这样创建的
row += $"{v.KickOff.ToString()};";
其中KickOff 是DateTime 数据类型。
可以吗,否则我稍后会在导入时遇到问题?
【问题讨论】:
-
如何导入该 CSV 文件?您使用 BulkCopy 还是某种 CSV 解析器?
-
永远不要将
mm/dd/yyyy用作数据交换目的的日期表示(事实上,永远不要将mm/dd/yyyy用于任何事情,因为它很愚蠢——但那是另一回事)。使用yyyy-mm-dd。 -
@Steve 我会用sql management studio的导入流程
-
此外,切勿通过字符串连接构建 CSV。除了最基本的情况外,CSV 太复杂了。我想知道,如果您编写 C# 为什么不直接将数据写入数据库?首先将其转换为 CSV 是退一步。
-
我的第二条评论?有什么可以“检查”的?为什么在生产中使用不同的方法导入数据?如果是这样,那么现在用 CSV 做这件事有什么意义呢?当您在 C# 中并且可以直接写入数据库时,使用 CSV at all 这样做有什么意义?我不明白整个问题。
标签: c# sql-server csv datetime