Данные столбца CSV усекаются - PullRequest
0 голосов
/ 06 апреля 2011

Я анализирую CSV-файл, используя Jet со строкой подключения

@"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 букв

Где еще они будут усечены?

Спасибо

Ответы [ 4 ]

1 голос
/ 06 апреля 2011

Не используйте драйвер Jet OLEDB 4.0, он урезает ваш длинный текст до 255 символов и будет читать только 255 столбцов / полей. Если у вас более 255 столбцов / полей, вы не сможете прочитать их все.

Другие пользователи StackOverflow предлагают использовать: Быстрый CSV-ридер

1 голос
/ 05 октября 2011

Вы должны попробовать Datatype LongChar У меня был успех.

0 голосов
/ 13 августа 2013

Не указывать MaxScanRows = 0.Это не работает по какой-то причине.Пробовал MaxScanRows = 1000.Это работает.или попробуйте изменить реестр

[HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Office \ 12.0 \ Access Connectivity Engine \ Engines \ Text] "MaxScanRows" = dword: 00001000

0 голосов
/ 06 апреля 2011

Вы пытались указать типы полей в файле 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...