Гость
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Открыть клиперовские дбф фоксом / 11 сообщений из 11, страница 1 из 1
03.10.2013, 00:06
    #38414932
Открыть клиперовские дбф фоксом
Здравствуйте!
Есть необходимость открывать 9-м фоксом базы клипера.
Некоторые базы открываются без проблем, а некоторые при открытии сообщают что это "не таблица" хотя прогами типа тотал или эксель окрываются

Подскажите как решить проблему!

Спасибо.
...
Рейтинг: 0 / 0
03.10.2013, 09:16
    #38415028
Дед Евгений
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Открыть клиперовские дбф фоксом
Клиперовские таблицы не имееют кодовой в заголовке, поэтому при открытии видим крякозяблы. Возможно это причина ошибки, хотя у меня всегда открывалось без проблем. Но так как Клипер потом сам автоматически востанавливает структуру. Я приноровился копировать табличку во временную папку, прописывать в заголовке кодовую и читать. Сейчас появились и таблички с CDX файлами, проипассными у них в заголовке.
Вот код изменения заголовка таблицы для чтения из Фокса:
IF USED("TableClip")
USE IN TableClip
ENDIF
COPY FILE (D:Work\TableClip.dbf") TO ("D:\Temp\TableClip.dbf")
nOnFileDbf = FOPEN("D:\Temp\TableClip.dbf",2)
IF nOnFileDbf > 0
= FSEEK(nOnFileDbf,28) && Перемещение к байту 28
= FWRITE(nOnFileDbf,CHR(0)) && Убираем ссылку на CDX
= FSEEK(nOnFileDbf,29) && Перемещение к байту 29
= FWRITE(nOnFileDbf,CHR(101)) && Прописываем кодовую 866
= FCLOSE(nOnFileDbf)
ENDIF
USE ("D:\Temp\TableClip.dbf") ALIAS TableClip IN 0 SHARE

Поиграйся в общем с заголовком.
...
Рейтинг: 0 / 0
03.10.2013, 10:07
    #38415072
Открыть клиперовские дбф фоксом
Дед Евгений,

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

проблема в другом, если пытаешься открыть командой USE то имеем ошибку типа file is not a table

Как это исправить?
...
Рейтинг: 0 / 0
03.10.2013, 10:16
    #38415088
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Открыть клиперовские дбф фоксом
Попробуй
Код: sql
1.
SET TABLEVALIDATE TO 0


Это отключение всех проверок структуры DBF.
...
Рейтинг: 0 / 0
03.10.2013, 10:18
    #38415094
Дед Евгений
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Открыть клиперовские дбф фоксом
Вот как раз и получается, что читает заголовок таблицы и видит нарушения. Все упирается в заголовок файла. Посмотри в фоксе была проседурка востановления файла, исправления заголовка.
...
Рейтинг: 0 / 0
03.10.2013, 10:49
    #38415151
Открыть клиперовские дбф фоксом
Дед Евгений,

В фоксе - это где? В примерах?
...
Рейтинг: 0 / 0
03.10.2013, 11:01
    #38415171
SoftwareBoy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Открыть клиперовские дбф фоксом
Клиппер, в отличие от Фокса, умеет создавать в таблицах Character-поля длиннее 254 символов. Если в таблице есть такое поле (и в нём есть значения длиннее 254), то исправления заголовка недостаточно. Надо или из Клиппера привести структуру таблицы к стандарту, или из Фокса всю таблицу читать на низком уровне.
...
Рейтинг: 0 / 0
03.10.2013, 11:08
    #38415185
Открыть клиперовские дбф фоксом
SoftwareBoy,

Спасибо за информацию.
А можно примерчик, как прочитать таблицу на низком уровне и как потом ее выгрузить в правильную таблицу?
...
Рейтинг: 0 / 0
03.10.2013, 14:28
    #38415567
Открыть клиперовские дбф фоксом
SoftwareBoyКлиппер, в отличие от Фокса, умеет создавать в таблицах Character-поля длиннее 254 символов. Если в таблице есть такое поле (и в нём есть значения длиннее 254), то исправления заголовка недостаточно. Надо или из Клиппера привести структуру таблицы к стандарту, или из Фокса всю таблицу читать на низком уровне.
Кстати, еще там можно было с битовыми полями работать...
Тогда, когда в Фоксе функций BITTEST(), BitSet(), BitClear() еще не было...
...
Рейтинг: 0 / 0
05.10.2013, 08:03
    #38417569
alextashk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Открыть клиперовские дбф фоксом
Павловский Юрий

Я пользовался "Advantage StreamlineSQL ODBC"
...
Рейтинг: 0 / 0
06.10.2013, 14:21
    #38418048
Penner
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Открыть клиперовские дбф фоксом
ColumnCount > 256 ?
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Открыть клиперовские дбф фоксом / 11 сообщений из 11, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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