【发布时间】:2016-08-26 09:00:04
【问题描述】:
我必须处理导入 CSV 文件。旧的解决方案使用 MFC 和 ADO 文本驱动程序来管理它。我知道您可以在相应的Schema.ini 文件中指定TextDelimiter-选项。
问题是,某些输入文件不可能指定该文件中未使用的字符!
我们所有的文件都是 CP1252 编码的 - 我们无法处理其他编码,因此“☃”(SNOWMAN,U+2603)或类似的东西无法提供解决方案。
如果我省略一个字符,ADO 似乎会退回到默认字符(双引号):
[Import.txt]
ColNameHeader=False
Format=Delimited(;)
TextDelimiter= //← omit character doesn't work!
col1=...
我也无法定义字符序列,这会将不匹配的风险降低到可接受的值:
[Import.txt]
ColNameHeader=False
Format=Delimited(;)
TextDelimiter=@#+@ // produces error when opening the ADO connection!
所以我的问题是:是否可以完全禁用此功能?我只是不想要任何自动文本分隔!
代码是在基于 MFC 和 ADO 的 C++ 中实现的 - 所以没有 ADO.NET 解决方案可以帮助我。
【问题讨论】: