我已经搜索了几个小时试图获得一些答案或指导方针或针对这个问题的一般做法,但我找不到任何东西......无论如何我认为有人可以提供帮助,所以我可以随意在或提到任何有用的博客,图书馆等...
我尝试做的是动态解析CSV文件并将它们映射到数据库表。但它不是一个表,这是一个通用工具,用于将CSV文件中的数据导入任何数据表。
问题与验证有关。我想确保CSV的内容在数据库数据类型方面有效。
例如,假设我有以下CSV文件:
我有一个包含以下字段的数据库表:
VARCHAR(32),NUMBER(或INT),DATE
在下面的示例中,我需要确保CSV内容有效,因此我需要确保该名称实际上是一个'字符串'并且受数据长度的约束(32,至少在Oracle中可能是BYTES或CHAR),是否可以为null,以及其他字段等等。 (这也是在客户端完成的)
现在我可以做的是查询数据表中的列和属性(DATA TYPE,DATA LENGTH,NULLABLE ...)并将该数据发送到客户端,然后在客户端中我可以使用最简单的术语一个switch语句,它将检查数据类型,然后执行适当的验证。
然而,我正在寻找更好,更具可扩展性的东西,因为在可能的多个数据库中检查每种数据类型是不切实际的。
我知道我可以尝试导入/插入数据,如果我遇到任何错误,我可以回滚,但这并不理想。我需要实际验证并通知用户错误的确切位置。
哦,顺便说一下,这是在.NET和C#中完成的,但是我可以接受任何帮助/想法。
由于