Lendo arquivo de texto delimitado por vírgula para C # DataTable, colunas são truncadas para 255 caracteres

Estamos importando de CSV para SQL. Para fazer isso, estamos lendo o arquivo CSV e gravando em um arquivo .txt temporário usando um schema.ini. (Eu não tenho certeza ainda exatamente porque estão escrevendo para este arquivo temporário, mas é assim que o código funciona atualmente). A partir daí, estamos carregando uma DataTable via OleDB usando a seguinte string de conexão (para arquivos ASCII).

<code>"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + sPath + ";Extended Properties=\"text;HDR=Yes;FMT=Delimited\"";
</code>

O problema que estamos tendo é que os campos com mais de 255 caracteres são truncados. Eu li on-line sobre esse problema e parece que, por padrão, os campos de texto são truncados dessa forma.

Eu defino minhas configurações de registroImportMixedTypes=Majority Type eTypeGuessRows=0 emHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel , esperando quemycolumns não será mais interpretado como texto. Depois de fazer isso, o arquivo txt temporário está sendo gravado corretamente a partir do arquivo CSV, mas quando eu ligodataAdapter.Fill, o DataTable resultante ainda tem um valor truncado.

Aqui está a definição da coluna em questão. CommaDelimited # txt Notas 2 falso 234 verdadeiro 130 0 0

Qualquer ajuda seria apreciada. Neste momento, eu não estou interessado em usar qualquer código de terceiros para resolver este problema, deve haver uma maneira de usar ferramentas embutidas.

Aqui está a definição da tabela:

<code><Columns> 
    <TABLE_NAME>CommaDelimited#txt</TABLE_NAME> 
    <COLUMN_NAME>Notes</COLUMN_NAME> 
    <ORDINAL_POSITION>2</ORDINAL_POSITION> 
    <COLUMN_HASDEFAULT>false</COLUMN_HASDEFAULT> 
    <COLUMN_FLAGS>234</COLUMN_FLAGS> 
    <IS_NULLABLE>true</IS_NULLABLE> 
    <DATA_TYPE>130</DATA_TYPE> 
    <CHARACTER_MAXIMUM_LENGTH>0</CHARACTER_MAXIMUM_LENGTH> 
    <CHARACTER_OCTET_LENGTH>0</CHARACTER_OCTET_LENGTH> 
</Columns>
</code>

Obrigado,

Greg

Eu tentei editar o schema.ini especificando o texto com uma largura, e isso não ajudou (foi definido como memo antes)

[CommaDelimited.txt] Format = CSVDelimited DecimalSymbol =. Col1 = Largura do texto das notas 5000

questionAnswers(6)

yourAnswerToTheQuestion