我正在阅读CSV文件并根据CSV文件的标题动态创建数据库表。
但是在读取csv数据并转入相关表时遇到问题。当我有一个十进制数据类型的列并且CSV字段包含空白时,问题就来了,所以它被视为字符串并低于错误。
错误:
无法将参数值从String转换为Decimal。
我正在使用CSV Helper并通过类映射,也许我可以实现这一点,但我动态创建基于CSV文件的结构,因此我无法定义任何固定类。
以下是我发现的一个答案,如果是类地图,可能会有所帮助:Using CsvHelper can I translate white space to a nullable?
当sqlbulk copy尝试在SQL Server数据库表中转储这些数据时出现问题。
答案 0 :(得分:1)
我认为您可能需要进行列映射。如果您使用的是SqlBulkCopy,则可以使用本文中描述的一些内容:
<强> Mapping columns in a DataTable to a SQL table with SqlBulkCopy 强>