我正在使用带有连接字符串
的Jet解析CSV文件@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + directory + ";Extended Properties='text;HDR=YES;FMT=Delimited';"
使用包含以下内容的Schema.ini:
[SelfCatering.csv]
Format=CSVDelimited
ColNameHeader=True
MaxScanRows=0
在我的c#代码中,我已将列数据类型预定义为字符串,但由于某种原因,扩展字符串列被截断为255个字符。如果我快速观察列数据本身只有255个字母
还有什么地方会被截断?
由于
答案 0 :(得分:1)
不要使用Jet OLEDB 4.0
驱动程序,它会将长文本截断为255个字符,并且只读取255列/字段。如果您有超过255列/字段,则无法全部阅读。
StackOverflow上的其他人建议使用:A Fast CSV Reader
答案 1 :(得分:1)
你应该尝试Datatype LongChar
我成功了。
答案 2 :(得分:0)
您是否尝试在Schema.ini文件中指定字段类型:
<SelfCatering.csv>
You can add comments here
</SelfCatering.csv>
<schema.ini>
[SelfCatering.csv]
ColNameHeader=TRUE
MaxScanRows=0
Format=CSVDelimited
Col1=ColName1 Text Width 50
Col2=ColName2 Text Width 50
Col3=ColName3 Text Width 500
</schema.ini>
答案 3 :(得分:0)
不要指定MaxScanRows = 0。 它由于某种原因不起作用。 尝试MaxScanRows = 1000。这是工作。 或者尝试编辑注册表
[HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Office \ 12.0 \ Access Connectivity Engine \ Engines \ Text] &#34;的MaxScanRows&#34; = DWORD:00001000