我正在读取 CSV 文件并根据 CSV 文件的标题动态创建数据库表。
但是在读取 csv 数据并将其转储到相关表格时出现问题。当我有一个十进制数据类型的列并且 CSV 字段包含空白时,问题就来了,因此它被视为字符串并低于错误。
错误:
Failed to convert parameter value from a String to a Decimal.
我正在使用 CSV Helper通过类映射,也许我可以实现这一点,但我是基于 CSV 文件动态创建结构,所以我无法定义任何固定类。
这是我发现的 1 个答案,这可能对类映射有帮助:Using CsvHelper can I translate white space to a nullable?
当 sqlbulk 复制尝试将这些数据转储到 SQL Server 数据库表中时出现问题。
最佳答案
我认为您可能需要进行列映射。如果您使用的是 SqlBulkCopy,则可以使用这篇文章中描述的一些内容:
Mapping columns in a DataTable to a SQL table with SqlBulkCopy
关于c# - 如何在读取 CSV 记录时将空字符串转换为 null?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41364205/