Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / PowerBuilder Новый топик    Ответить
 ODBC DBF кодировка  [new]
Gritsenko
Guest
Надо выгрузить данные в DBF DOS


Делаю так
Создаю файл - шаблон клипперровской DBU
копирую в рабочий файл и пишу туда данные через ODBC

Чтобы на станции лишнего не ставить использую драйвер
Microsoft Dbase Driver который есть у всех.

ODBC источник данных "dbfimp" создаю вот так
// Создаем ODBC источник для работы с dbf через Microsoft dBase Driver (*.dbf)
string Driver
RegistrySet( "HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI\dbfimp","DefaultDir", RegString!, 'C:\PFLEX.RT\DBFIMP')
RegistryGet( "HKEY_LOCAL_MACHINE\Software\ODBC\ODBCINST.INI\Microsoft dBase Driver (*.dbf)","Driver", RegString!, Driver)
RegistrySet( "HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI\dbfimp","Driver", RegString!, Driver)
RegistrySet( "HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI\dbfimp","Fil", RegString!, "dBase III")
RegistrySet( "HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI\dbfimp","DriverId", ReguLong!, 21)
RegistrySet( "HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI\dbfimp\Engines\Xbase","CollatingSequence", RegString!, 'ASCII')


Это работает на многих версиях windows пока не поставят какой - то хреновины (неизвестно что именно, мб СРМ Sales Logic DLL драйвера вроде не меняется)
В результате вместо OEM получаю ANSI

МБ Что-то надо добавить в реестр или опции чтобы получить нужную кодировку?


2- Вариант
Как поставить какой-то другой драйвер с явным указанием кодировок
без стандарной инсталляции
Например DataDirect идущий с PB все ОК
Но не ставить же на каждую станцию PowerBuilder с приблудами
5 авг 05, 18:26    [1768726]     Ответить | Цитировать Сообщить модератору
 Re: ODBC DBF кодировка  [new]
Dim2000
Member

Откуда: Москва
Сообщений: 5318

Gritsenko wrote:

> 2- Вариант
> Как поставить какой-то другой драйвер с явным указанием кодировок
> без стандарной инсталляции
> Например DataDirect идущий с PB все ОК

Ручками... у твоей софтины есть инсталлятор? Включи в него.

Posted via ActualForum NNTP Server 1.2

5 авг 05, 19:00    [1768780]     Ответить | Цитировать Сообщить модератору
 Re: ODBC DBF кодировка  [new]
AVGritsenko
Member

Откуда:
Сообщений: 37
этот Datadirect просто так не ставиться
и требует тучу файлов ~ 30 мб

МБ кто знает что Microsoft драйверу указать для фиксации OEM кодировки?
6 авг 05, 14:44    [1769346]     Ответить | Цитировать Сообщить модератору
 Re: ODBC DBF кодировка  [new]
Estets
Member

Откуда: Химки
Сообщений: 604
Кроме "Microsoft dBase Driver" есть "Microsoft dBase VFP Driver" можно попробывать поигратся с ним.
8 авг 05, 14:32    [1770287]     Ответить | Цитировать Сообщить модератору
 Re: ODBC DBF кодировка  [new]
Dim2000
Member

Откуда: Москва
Сообщений: 5318

AVGritsenko wrote:

> этот Datadirect просто так не ставиться

Ставится с полпинка.

> и требует тучу файлов ~ 30 мб

Во-первых, для работы с DBF - около полутора мегов, во-вторых, ты что,
до сих пор дискетами пользуешься ;)?

Posted via ActualForum NNTP Server 1.2

8 авг 05, 15:48    [1770666]     Ответить | Цитировать Сообщить модератору
 Re: ODBC DBF кодировка  [new]
White Owl
Member

Откуда:
Сообщений: 12584
AVGritsenko
МБ кто знает что Microsoft драйверу указать для фиксации OEM кодировки?

Никак. Абсолютно. У него в принципе нету OEM кодировки.
Сделай себе DSN из ODBC администратора и пошарься там по всем кнопочкам страничкам. Как добьешся подходящих настроек идешь в регистри и читаешь оттуда все настройки.
Может быть даже проще с самого начала делать File DSN и работать с файлом.
8 авг 05, 19:12    [1771260]     Ответить | Цитировать Сообщить модератору
 Re: ODBC DBF кодировка  [new]
oleg_shishkin
Member

Откуда:
Сообщений: 98
это любимый глюк , когда ставится ВСЕМИ ЛЮБИМЫЙ BDE !!!
ставь BDE администратор и правь кондовую страницу для DBF файлов на paradox ANSI cyr вроде - точно не помню - надо смотреть !!!
12 авг 05, 09:34    [1780619]     Ответить | Цитировать Сообщить модератору
 Re: ODBC DBF кодировка  [new]
ИвановНН
Member

Откуда: Нижний Новгород
Сообщений: 196
попробуй поковырять:
'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\3.0\Engines\Xbase','DataCodePage',
'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\3.5\Engines\Xbase','DataCodePage',
'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Xbase','DataCodePage'.
12 авг 05, 19:45    [1783318]     Ответить | Цитировать Сообщить модератору
Все форумы / PowerBuilder Ответить