Чтение CSV-файла в классическом ASP.Проблема: значения столбцов усекаются до 300 символов - PullRequest
1 голос
/ 14 сентября 2011

У меня есть страница, которая может загружать CSV-файлы и сохраняются в таблицу в базе данных. Я использую ниже строку подключения для чтения файла CSV.

set connection = Server.CreateObject ("ADODB.Connection")
connection.Open Connection_string

ls_map_path = server.MapPath(as_path)

strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
ls_map_path & ";Extended Properties=""Text;HDR=Yes;FMT=Delimited"";"

Set lo_rs = Server.CreateObject("ADODB.recordset")
lo_rs.CursorLocation = adUseClient
lo_rs.open "SELECT * FROM " & as_file_name, lo_conn, adOpenStatic, adLockOptimistic, adCmdText

do while not lo_rs.eof
     ls_notes = lo_rs.fields.Item("notes").value
     uf_save_note(ls_notes) 
     lo_rs.movenext
loop

Значение lo_rs.fields.Item ("notes"). Всегда усекается до 300 символов. Я хочу прочитать это поле без ограничений.

Пожалуйста, сообщите. Заранее спасибо!

1 Ответ

1 голос
/ 14 сентября 2011

Я думаю, что проблема может быть связана с автоматическими настройками типов данных, jet выполнит выборку строк в CSV и создаст набор записей, который будет соответствовать. Если количество строк, которые он выбирает, составляет <300 символов, он не даст вам достаточно места. </p>

Я думаю, что есть раздел реестра, который вы можете изменить, чтобы он анализировал больше строк, эта ссылка говорит о Excel, но я думаю, что он связан с:

http://support.microsoft.com/kb/281517

может бытьнеправильно .. это не то, что я действительно когда-либо испытывал на себе.

из статьи:

"Допустимый диапазон значений для ключа TypeGuessRows - от 0 до 16. Однако, еслизначение равно 0, количество проверенных исходных строк равно 16384. Имейте в виду, что нулевое значение может привести к небольшому падению производительности, если исходный файл очень большой. "

Чтобы убедиться, что этоявляется ли проблема вообще лучшим тестом, было бы открыть CSV, где первая строка содержит более 300 символов.

Если это проблема, мое предпочтительное решение было бы указать типы столбцов записиустановить до заполнения, но у меня нет настройки здесь, чтобы проверить, если это возможно извините.Я посмотрю несколько ссылок для вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...