|
|
|
ADO + OLEDB for Visual FoxPro + Создание DBF --> проблема
|
|||
|---|---|---|---|
|
#18+
С раздела Delphi направили сюда за советом при работе через ADO + OLE DB for Visual FoxPro. Вопрос В разных процедурах создаю таблицы DBF через OLEDB for Visual FoxPro. В одном месте они создаются с кодовой страницей 1251 (Russian Windows), а в других - с кодировкой 1252 (ANSI Windows). 1) Почему это происходит ? 2) Как можно создавать с нужной мне кодировкой (иногда нужна 866, а иногда 1251) ? 3) Можно ли изменить кодовую страницу уже созданного файла DBF. Пример создания таблицы. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. При использовании такого блока кода в разных местах, создаются таблицы с разной кодировкой. Ссылка на вопрос в разделе Delphi http://www.sql.ru/forum/actualthread.aspx?tid=307320 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2006, 11:11 |
|
||
|
ADO + OLEDB for Visual FoxPro + Создание DBF --> проблема
|
|||
|---|---|---|---|
|
#18+
автор2) Как можно создавать с нужной мне кодировкой (иногда нужна 866, а иногда 1251) ? Код: plaintext 1. автор3) Можно ли изменить кодовую страницу уже созданного файла DBF. Можно - используя CPZERO.prg - копируя таблицу в др таблицу Код: plaintext 1. авторВ разных процедурах создаю таблицы DBF через OLEDB for Visual FoxPro. В одном месте они создаются с кодовой страницей 1251 (Russian Windows), а в других - с кодировкой 1252 (ANSI Windows). 1) Почему это происходит ? В Фоксе для установки кодовой страницы используется настройка в файле конфигурации CODEPAGE = 1251/866/... именно с этим значение создается по умолчанию таблица. Если у тебя в ОС утановлена кодовая страница 1252 и нет файла конфигурации или явно не указана страница создания, то таблица создастся в кодировке ОС. Проверить кодировку среды можно ф-ией авторCPCURRENT() Returns the code page setting (if any) in your Visual FoxPro configuration file, or returns the current operating system code page. Проверить кодировку таблицы можно авторCPDBF([nWorkArea | cTableAlias]) Returns the code page with which an open table has been marked. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2006, 11:29 |
|
||
|
ADO + OLEDB for Visual FoxPro + Создание DBF --> проблема
|
|||
|---|---|---|---|
|
#18+
PaulWist автор3) Можно ли изменить кодовую страницу уже созданного файла DBF. Можно - используя CPZERO.prg - копируя таблицу в др таблицу Код: plaintext 1. Маленькое замечание: это СОВСЕМ не одно и то же. COPY перекодирует данные (т.е. из одной "исправной" таблицы создает другую "исправную"), а CPZERO "чинит" таблицу, в заголовке которой неправильно прописан CP (данные не трогает). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2006, 11:39 |
|
||
|
ADO + OLEDB for Visual FoxPro + Создание DBF --> проблема
|
|||
|---|---|---|---|
|
#18+
Попробовал Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2006, 12:04 |
|
||
|
ADO + OLEDB for Visual FoxPro + Создание DBF --> проблема
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2006, 12:06 |
|
||
|
ADO + OLEDB for Visual FoxPro + Создание DBF --> проблема
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2006, 12:42 |
|
||
|
ADO + OLEDB for Visual FoxPro + Создание DBF --> проблема
|
|||
|---|---|---|---|
|
#18+
Пробуй, должно получиться Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2006, 13:14 |
|
||
|
ADO + OLEDB for Visual FoxPro + Создание DBF --> проблема
|
|||
|---|---|---|---|
|
#18+
А что за execscript . Откуда он? Без него также ругается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2006, 14:34 |
|
||
|
ADO + OLEDB for Visual FoxPro + Создание DBF --> проблема
|
|||
|---|---|---|---|
|
#18+
авторПробуй, должно получиться Чегой-то даже в самом фоксе это не проходит, странно однако Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2006, 14:38 |
|
||
|
ADO + OLEDB for Visual FoxPro + Создание DBF --> проблема
|
|||
|---|---|---|---|
|
#18+
alex_istА что за execscript . Откуда он? Без него также ругается. Я не понял, последний код выполнился успешно? Там кстати надо поправить строчку (убрать точку с запятой) Код: plaintext 1. 2. 3. 4. ExecScript - так и переводи "исполнить строки команд Фокса", аналог этого Pithon. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2006, 14:44 |
|
||
|
ADO + OLEDB for Visual FoxPro + Создание DBF --> проблема
|
|||
|---|---|---|---|
|
#18+
Cyv авторПробуй, должно получиться Чегой-то даже в самом фоксе это не проходит, странно однако Код: plaintext Ну и какая ошибка вылезает? PS версию Фокса приведи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2006, 14:45 |
|
||
|
ADO + OLEDB for Visual FoxPro + Создание DBF --> проблема
|
|||
|---|---|---|---|
|
#18+
Выдается ошибка Syntax Error Работаю через Delphi + ADO + OLE DB for VFP 8 Без CODEPAGE=1251 все отлично работает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2006, 14:57 |
|
||
|
ADO + OLEDB for Visual FoxPro + Создание DBF --> проблема
|
|||
|---|---|---|---|
|
#18+
А вот оно что, скачай OLE DB for VFP 9 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2006, 14:58 |
|
||
|
ADO + OLEDB for Visual FoxPro + Создание DBF --> проблема
|
|||
|---|---|---|---|
|
#18+
К сожалению, у нас везде корпоративно использется OLE DB for VFP 8 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2006, 15:21 |
|
||
|
ADO + OLEDB for Visual FoxPro + Создание DBF --> проблема
|
|||
|---|---|---|---|
|
#18+
авторверсию Фокса приведи. Сорри, на девятке усе Ок ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2006, 15:48 |
|
||
|
ADO + OLEDB for Visual FoxPro + Создание DBF --> проблема
|
|||
|---|---|---|---|
|
#18+
Hi alex_ist! Там нельзя. И кстати AFAIK именно из-за того что у вас версия провайдера под 8-ку и возникают проблемы с кодировкой - там что-то напортачили в MS и при некоторых условиях для экземпляра берётся жёстко CP=1252 ну и соответственно новые таблицы получают эту CP. Почитай на сайте Михаила Дроздова про проблемы с кодировками в 8 фоксе. И кстати если у вас так широко используется провайдер, то может и сам фокс имеется? Тогда проще всего на нём нарисовать простейший COM-сервер - помошник. Скажем одним из методов которого сделать банальную строчку RETURN EXECSCRIPT(param1) - и тогда можно исполнять скрипты/программы любой сложности, не только то что может провайдер (а он конечно весьма ограничен в возможностях :) ) Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2006, 18:25 |
|
||
|
ADO + OLEDB for Visual FoxPro + Создание DBF --> проблема
|
|||
|---|---|---|---|
|
#18+
Уж 1000 раз твердили миру на счет TADOQuery... Все у него правильно. Просто забыл он ставить вместо '\' '\\' Например так : Код: plaintext 1. 2. Зачем C:\\as.dbf( в твоей реализации C:\as.dbf) ? Ты уже соеденился к Data Source=' + <путь к Temp каталогу Windows> . И что это за путь к Temp каталогу Windows ? Это путь к твоему источнику. Вот тут пример: forum.vingrad.ru/index.php?showtopic=88025 Под 8.0 работает прекрасно. Удачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2006, 19:29 |
|
||
|
ADO + OLEDB for Visual FoxPro + Создание DBF --> проблема
|
|||
|---|---|---|---|
|
#18+
Alexey-M Уж 1000 раз твердили миру на счет TADOQuery... Все у него правильно. Просто забыл он ставить вместо '\' '\\' Например так : Код: plaintext 1. 2. Зачем C:\\as.dbf( в твоей реализации C:\as.dbf) ? Ты уже соеденился к Data Source=' + <путь к Temp каталогу Windows> . И что это за путь к Temp каталогу Windows ? Это путь к твоему источнику. Вообще-то, если быть точным, то Microsoft рекомендует использовать UNC вместо имен устройств etc... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2006, 21:21 |
|
||
|
|

start [/forum/topic.php?fid=41&tid=1591330]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
191ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 278ms |
| total: | 558ms |

| 0 / 0 |
