powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / (Select - SQL) Можно ли получить DBF в нужной кодовой странице?
13 сообщений из 13, страница 1 из 1
(Select - SQL) Можно ли получить DBF в нужной кодовой странице?
    #32952471
Crispy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно ли с помощью Select - SQL в VFP (9) напрямую получить DBF в нужной кодовой странице?
Например в 866?
...
Рейтинг: 0 / 0
(Select - SQL) Можно ли получить DBF в нужной кодовой странице?
    #32952494
Ilhom_uz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если sql соединение через ODBC, то по-моему там(ODBC) при объявлении подключения при задании параметров подключения есть национальные настройки ...
...
Рейтинг: 0 / 0
(Select - SQL) Можно ли получить DBF в нужной кодовой странице?
    #32952534
Crispy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нет, я имел в виду обычную (локальную) выборку SELECT-ом из разных таблиц в файл DBF.
...
Рейтинг: 0 / 0
(Select - SQL) Можно ли получить DBF в нужной кодовой странице?
    #32952566
nnnnnnnnnnn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SET CODEPAGE 866
SELECT * FROM sometable INTO freetable.dbf

Если мне память не изменяет, дааавно я фоксом не баловался
...
Рейтинг: 0 / 0
(Select - SQL) Можно ли получить DBF в нужной кодовой странице?
    #32952673
Pavel_t
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всё боится времени

для VFP(9)

CREATE TABLE aaa.dbf free CODEPAGE =866 (sd char(12))

далее

INSERT INTO aaa (sd) SELECT sd1 FROM xxx.dbf

.... и только время боится пирамид!
...
Рейтинг: 0 / 0
(Select - SQL) Можно ли получить DBF в нужной кодовой странице?
    #32952692
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если мне не изменяет память то команды SET CODEPAGE 866 нет

выбираете в курсор и копируете в таблицу или просто копируете если запрос простой

COPY TO FileName
[FIELDS FieldList]
[Scope] [FOR lExpression1] [WHILE lExpression2]
[[WITH] CDX] | [[WITH] PRODUCTION]
[NOOPTIMIZE]
[[TYPE] [FOXPLUS | FOX2X | DIF | MOD
| SDF | SYLK | WK1 | WKS | WR1 | WRK | XLS | XL5
| DELIMITED [WITH Delimiter | WITH BLANK | WITH TAB]]]
[AS nCodePage]
...
Рейтинг: 0 / 0
(Select - SQL) Можно ли получить DBF в нужной кодовой странице?
    #32952951
Crispy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо всем.
Хотя проблема все же осталась :(
Она в том - чтобы сделать выборку в VFP и подсунуть результат FPD2.6, а тот - матерится: это мол - не DATABASE....

to Pavel_t :
Таблица действительно создается, и даже первые байты заголовка - какие надо, только в конце файла почему-то висит "хвост" из нулевых байтов в количестве 256+7 байт, из-за этого наверно старый фокс ругается, не обрезать же их...

to leaf :
Занятно, но команда COPY TO... AS... почему-то оказывается, создает файл вообще с другим заголовком - не для 866 страницы, ну старый фокс его понятно и знать не хочет... :(

Такие вот пироги

Приходится держать про запас пустую "болванку", сделанную в FPD2.6 и APPEND-ом сувать туда то, что надо.
Но я думал - может можно все сделать как-то одной командой?...
...
Рейтинг: 0 / 0
(Select - SQL) Можно ли получить DBF в нужной кодовой странице?
    #32953001
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну блин .... сам когда-то такой был
select ....
COPY TO FileName FOX2X [AS nCodePage]
и всё честно слово
...
Рейтинг: 0 / 0
(Select - SQL) Можно ли получить DBF в нужной кодовой странице?
    #32953026
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну может еще cpzero как владимирМ делает нет двойки попробывать
или как мы грешные делаем

COPY TO FileName FOX2X [AS nCodePage]
gg=fopen(FileName,2)
ff=fseek(gg,29)
ff=fwrite(gg,chr(0))
ff=fclose(gg)

проверки на вшивость добавите сами
...
Рейтинг: 0 / 0
(Select - SQL) Можно ли получить DBF в нужной кодовой странице?
    #32953036
Crispy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Прикольно...

И в самом деле - старичок FPD все прожувал!
Еще раз спасибо!
...
Рейтинг: 0 / 0
(Select - SQL) Можно ли получить DBF в нужной кодовой странице?
    #32953061
Фотография Владимир СА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для Crispy
Только что попробовал из VFP80 -> FoxPro 2.6

В VFP80 работает программа:
SELECT <My_table> && 1251, имеются поля символьные, числовые, дата
COPY TO <My_new> FOX2X AS 866

Открываю FoxPro 2.6 в командном окне
USE <My_new> IN 0
BROWSE

Все четко....
...
Рейтинг: 0 / 0
(Select - SQL) Можно ли получить DBF в нужной кодовой странице?
    #32953106
Crispy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем - большое спасибо!
А то я уж почти было сочинил формулу:
(что ли никто не знает?) OR (что ли все отдыхают после напряженных праздников?) = .T.
...
Рейтинг: 0 / 0
(Select - SQL) Можно ли получить DBF в нужной кодовой странице?
    #32954577
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi Crispy!

Это не хвост - это такая структура заголовка - там должно хранится имя и пусть к dbc контейнеру (поскольку таблица FREE то там нули). и вообще чётче вопросы задавай, быстрее ответ правильный получишь - тебе надо было именно получить таблицу, которую может без вопросов открыть FPD. Ессно что с форматом VFP он не справляется, зато COPY TO ... TYPE FOX2X существует уже много много лет как раз для таких целей.

Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / (Select - SQL) Можно ли получить DBF в нужной кодовой странице?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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