Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / MaxScanRows / 4 сообщений из 4, страница 1 из 1
09.02.2011, 09:27
    #37105838
paveloder
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MaxScanRows
Подключаюсь к Excel при помощи
Код: plaintext
1.
2.
3.
4.
5.
constr = "DRIVER={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};" & _
         "DriverId=790;" & _
         "ReadOnly=True;" & _
         "MaxBufferSize=2048;" & _
         "MaxScanRows=0;" & _
         "DBQ=" & DBQFullPath
В файле присутствует тип adLongVarChar, т.е. текст длины больше 255. Проверено, что тип однозначно определяется по первым 8 строкам. Нужно, чтобы по всем. Почему MaxScanRows=0 не помогает?

Можно, конечно, работать с JET.OLEDB.4.0, корректируя в реестре параметр TypeGuessRows, однако данный провайдер не работает с xlsx. Поправьте если нужно.
...
Рейтинг: 0 / 0
09.02.2011, 10:39
    #37106010
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MaxScanRows
> Автор: paveloder
> Почему MaxScanRows=0 не помогает?

А где ты вычитал о такой параметре? [quot connectionstrings.com ]Use IMEX=0
instead to be sure to force the registry TypeGuessRows=0 (scan all rows) to work.[/quot]

> однако данный провайдер не работает с xlsx. Поправьте если нужно.

Этот работает


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
09.02.2011, 13:12
    #37106502
PA
PA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MaxScanRows
paveloderПочему MaxScanRows=0 не помогает?
http://support.microsoft.com/kb/257819/en-us]
However, due to a bug in the ODBC driver , specifying the Rows to Scan (MaxScanRows) setting currently has no effect. In other words, the Excel ODBC driver (MDAC 2.1 and later) always scans the first 8 rows in the specified data source in order to determine each column's datatype.
...
Рейтинг: 0 / 0
09.02.2011, 16:48
    #37107294
paveloder
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MaxScanRows
поменял на
Код: plaintext
1.
2.
constr = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
         "Data Source=" & Path & ";" & _
         "Extended properties=""Excel 12.0;HDR=YES;IMEX=1"""
+
в [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\Access Connectivity Engine\Engines\Excel] TypeGuessRows = 0
заработало, спасибо!
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / MaxScanRows / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]