Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.10.10;
Скачать: [xml.tar.bz2];

Вниз

ADO+DBF - проблеммы с кодировкой   Найти похожие ветки 

 
Hohol   (2004-09-09 09:46) [0]

Здравствуйте !
Есть таблицы DBF формата FoxPro for DOS. У них проставлена кодовая страница 866. Таблицы подключаю через ADO+MS OLE DB Provider for Visual FoxPro. Объект ADOConnection не использую, указываю строку подключения непосредственно в объекте ADOTable. Так вот если компонент ADOTable кинуть на форму во время разработки программы данные в DBGrid отображаются нормально, а если его создать динамически - пишется кракозяброй.
Компоненты DataSet и DBGrid присутствуют на форме постоянно.
Код динамического создания TADOTable такой:
var
foxTable: TADOTable;
begin
foxTable := TADOTable.Create(Self);
with foxTable do
begin
 ConnectionString := "Provider=VFPOLEDB.1;Data  Source=c:\dbfdir;Password="";Collating Sequence=MACHINE";
 TableName := "dbffile.dbf";
end;
end;
Где копать ?


 
sniknik ©   (2004-09-09 10:15) [1]

> У них проставлена кодовая страница 866
это старый формат больше dBase чем фоксовый

> Объект ADOConnection не использую
проблем хотся?

> Так вот если компонент ADOTable кинуть на форму во время разработки программы данные в DBGrid отображаются нормально,
> а если его создать динамически - пишется кракозяброй.
чудо программинга! зафиксируй и в книгу рекордов гинесе. ;о) должно быть одинаково. (если конечно при разработке никаких параметров не изменял, а там и там по умолчанию )

> Где копать ?
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\dbfdir;Extended Properties=dBase IV;Persist Security Info=False


 
Hohol   (2004-09-09 10:55) [2]


> > Объект ADOConnection не использую
> проблем хотся?

Дело в том что программа собирает данные из нескольких приложений, таблицы находятся в разных каталогах, есть таблица, тоже формата DBF, где перечислены все используемые в программе таблицы и пути к ним, т.е. одним ADOConnection не обойдешься, потому я и решил источник указывать непосредственно для каждой таблицы.


> > а если его создать динамически - пишется кракозяброй.
> чудо программинга! зафиксируй и в книгу рекордов гинесе.
> ;о) должно быть одинаково. (если конечно при разработке
> никаких параметров не изменял, а там и там по умолчанию
> )

Нет, ниче не меняю, все по умолчанию.


> > Где копать ?
> Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\dbfdir;Extended
> Properties=dBase IV;Persist Security Info=False

Поробую, но это другой Provider, хотя не очень принципиально наверное.


 
Hohol   (2004-09-09 10:56) [3]


> > Объект ADOConnection не использую
> проблем хотся?

Дело в том что программа собирает данные из нескольких приложений, таблицы находятся в разных каталогах, есть таблица, тоже формата DBF, где перечислены все используемые в программе таблицы и пути к ним, т.е. одним ADOConnection не обойдешься, потому я и решил источник указывать непосредственно для каждой таблицы.


> > а если его создать динамически - пишется кракозяброй.
> чудо программинга! зафиксируй и в книгу рекордов гинесе.
> ;о) должно быть одинаково. (если конечно при разработке
> никаких параметров не изменял, а там и там по умолчанию
> )

Нет, ниче не меняю, все по умолчанию.


> > Где копать ?
> Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\dbfdir;Extended
> Properties=dBase IV;Persist Security Info=False

Поробую, но это другой Provider, хотя не очень принципиально наверное.


 
sniknik ©   (2004-09-09 11:18) [4]

> таблицы находятся в разных каталогах, есть таблица, тоже формата DBF, где перечислены все используемые в программе таблицы и пути к ним, т.е. одним ADOConnection не обойдешься
легко
SELECT * FROM C:\PATH1\Table1.Dbf
SELECT * FROM C:\PATH2\Table2.Dbf
и все на одном конекте
сложнее указать корнень (диск), но и это можно обойти.
(будеш пробовать убери автоопределение параметров)


 
Hohol   (2004-09-09 11:33) [5]

Похоже Microsoft.Jet.OLEDB.4.0 не годиться. Дело в том что часть таблиц из бухгалтерской программы БЭСТ4, написана она на Клипере, и использует в индексных выражениях клиперовские функции. Jet такие таблицы не октрывает, а VFPOLEDB открывает он видимо на индексы не смотрит.


 
sniknik ©   (2004-09-09 11:38) [6]

> написана она на Клипере
для аналогичного использую Halcyon, есть поддержка клипера, и можно добавить свои функции которые будут использованы в индексах (совместить с оригиналом)

> а VFPOLEDB открывает он видимо на индексы не смотрит.
он снимает признак индекса если не находит его, если тебя это устраивает... то еще проверь а программу (БЭСТ4) это устроит? мало ли как написано.


 
Hohol   (2004-09-09 11:45) [7]


> > а VFPOLEDB открывает он видимо на индексы не смотрит.
> он снимает признак индекса если не находит его, если тебя
> это устраивает... то еще проверь а программу (БЭСТ4) это
> устроит? мало ли как написано

Да не, индексы на месте, конечно возможно понадобиться их перестроить потом, но метка наличия индексного файла не снимается


 
sniknik ©   (2004-09-09 11:54) [8]

> но метка наличия индексного файла не снимается
убери сам файл индекса и проверь еще.

но хотя если потом перестраивать... это неважно, как и неважно если их убирать совсем снимать признак и использовать jet. все одно перестраивать...


 
Hohol   (2004-09-09 12:35) [9]

Установил Halcyon, вроде все работает и отображает нормально и индексы клиперовские открывает.



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2004.10.10;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.044 c
4-1094078916
terra0
2004-09-02 02:48
2004.10.10
создание потока


3-1095152992
Medik
2004-09-14 13:09
2004.10.10
запрос в SQL Server 2000 и Paradox


10-1045125852
alexfed
2003-02-13 11:44
2004.10.10
provider not exported : midas + socket connection


4-1094025255
Alex870
2004-09-01 11:54
2004.10.10
Командный процессор


3-1094815391
Koala
2004-09-10 15:23
2004.10.10
Помогите разобраться





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский