Ошибка импорта dbf файла (dBaseIII)

Ukraina
Дата: 20.09.2005 17:26:49
Господа!
Необходимо импортировать файл dbf формата dBaseIII (или dBaseIV), но при импорте выдает следующую ошибку:

Непредвиденная ошибка драйвера внешней базы данных <10019>. (Ошибка 3275)
Драйвер внешней (указанной) базы данных возвращает ошибку.
Такие ошибки являются результатом попытки выполнения операции, не поддерживаемой базами данных этого типа.

Хотя при связывании с этим файлом, Акцесс связывает, но некоторые поля недоступны с сообщением «Ошибка» в каждом недоступном поле. Причем это поля формата «Дата/время»
На других ПК все импортируется без проблем. Могу предположить (согласно тексту сообщения об ошибке) не установлен соответствующий драйвер. В источнике ODBC Администратора компьютера вроде драйвер прописан…?

Что сделать и как быть? Как установить этот драйвер?
Sinner
Дата: 20.09.2005 17:32:56
попробуй импортнуть через ж...
т.е. через Excel. У меня иногда прокатывало...
Открываешь как dbase. а потом сохраняешь,
как excel - далее импортишь уже из excel
Ukraina
Дата: 20.09.2005 18:04:24
Это конечно вариант, но как я это буду объяснять пользователям.
Приложение сетевое: на одном можно импортировать просто, а на другом через Ексель

Заметил такую особенность:
Эксель открывает все нормально, но там где поля ошибочные (это поля формата Дата/время) вместо даты везде написано "19000100"...
Как видно это дата неверно импортируется...

Все-таки это драйвер...Наверно, так как можно выкрутиться из данной ситуации (минуя Ексель)
Ukraina
Дата: 20.09.2005 20:03:21
Еще заметил:
Изменил "19000100" на "правильный формат" - "20050101" и импорт сработал, хотя на соседней машине 9где импорт происходит нормально) значение "19000100" просто игнорируется, т.е. не выводится, оставляя как NULL...

Почему же такая разница?
VanGuard
Дата: 20.09.2005 23:43:28
Как вариант, может изменить в Параметрах импорта порядок сортировки с Ansi на международный или наоборот.
ы
Дата: 21.09.2005 09:27:14
Как вариант, на машине установлен BDE (borland desktop engine). Найти и обезвредить. (Поиск по форуму, навскидку не помню)
доброжелатель1
Дата: 21.09.2005 13:52:52
19000100 - мое мнение, что это какое-то корявое значение...
кажись минимально должно быть 19000101.
А вот excel хавает нормально нули...
попробу проапдейтить пустые значения даты
Могу быть и не прав, пусть гуру меня поправят.
vit116
Дата: 13.04.2007 11:48:28
Уберите атрибут "Только чтение" с папки и файла.
О.Сергей
Дата: 13.11.2007 16:12:42
При импорте или контроле значения поля при помощи SQL Возникает такая же ошибка. Именно: При наличии в поле типа Date значения не являющегося допустимым значением даты (например 20070230) все останавливается и выкидывает сообщение об ошибке
Можно ли обойти ситуацию используя только акцесс. Например обнуляя поле? Зы На машине установлен BDE, без него не зацепить фоксовые dbf ы. Access XP.
Анатолий ( Киев )
Дата: 13.11.2007 19:35:04
Для Ukraina:
Как правильно заметил "Ы" - это BDE. Отключить (только для Access)/включить его можно так:
Dim wshShell As Object    Set wshShell = CreateObject("WScript.Shell")
'Значение 2 - BDE отключен
    wshShell.RegWrite "HKLM\SOFTWARE\Microsoft\Jet\4.0\Engines\Xbase\BDE", 2, "REG_DWORD" 'REG_SZ REG_EXPAND_SZ REG_BINARY
'Значение 0 - BDE (если установлен)
'    wshShell.RegWrite "HKLM\SOFTWARE\Microsoft\Jet\4.0\Engines\Xbase\BDE", 0, "REG_DWORD" 'REG_SZ REG_EXPAND_SZ REG_BINARY
'    MsgBox wshShell.RegRead("HKLM\SOFTWARE\Microsoft\Jet\4.0\Engines\Xbase\BDE")
    Set wshShell = Nothing
Но это должно быть сделано перед запуском Access, т.к. в текущем сеансе изменения не действуют. Например, запуском VBS файла.

О.Сергей
установлен BDE, без него не зацепить фоксовые dbf ы.
Их можно зацепить ODBC Visual FoxPro драйвером. Если текст в кодировке OEM, можно в байт со смещением 29 записать 0х65. А если битый файл - разовая ситуация, то можно отключить/включить BDE.

Для обоих:
Этот же драйвер позволяет присоединить такой файл без вопросов. Поля с неправильной датой и пустые выглядят как "0:00:00". Это зачение надо везде повторить (очистить нельзя) или заменить другой датой. Для файлов dBaseIV/5.0 с МЕМО эта метода не годится - драйвер их не видит.

Всё, что написал, - проверил.

И, наконец, вопрос: Откуда берутся такие файлы в наше время? И это у вас постоянно? :)