可以在 mfc 中禁用 Schema.ini 内的 TextDelimiter 吗?

Can one disable TextDelimiter within Schema.ini for ado in mfc?

我必须处理导入 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 解决方案可以帮助我。

应该这样做:

TextDelimiter=none