Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Ошибки при открытии таблиц


Страницы:   1 2

Ренат ©   (2002-08-08 09:28:00) 

Есть несколько таблиц Используются в программе на foxpro
При открытии некоторых(не всех) в delphi вываливаются ошибки BDE
Could not find language drive и Invalid index descriptor
Как это дело все исправить?


Anatoly Podgoretsky   (2002-08-10 19:51:00) [1]

Str и еще с десяток BDE понимает, так как сам dBase работает с тем же BDE
Есть ряд вещей которые не понимает, одна из них если языковый драйвер 1251 - вот это не понимает, вероятно ты на язык таблицы и нарвался, судя по сообщению.


Desdechado   (2002-08-10 19:34:00) [2]

имхо, в ключе индекса используются встроенные функции Foxpro, например:
для числового поля NN:
Str(NN)
БДЕ их, естественно, не понимает :(


Ренат   (2002-08-08 15:23:00) [3]

настолько что не открываются


Ренат   (2002-08-08 15:23:00) [4]

в том-то и дело что секретные


Leran2002   (2002-08-08 15:12:00) [5]

Знаешь если можешь скинь таблицы мне на ящик (лучше в запакованном виде), я поручаю их на своем компе (ну конечно если это не секретные материалы)…
Вот мой ящик: menshov_s@mail.ru


Leran2002   (2002-08-08 15:00:00) [6]

Да парюсь я уже...
Все точно здаюсь, мыслей нет... Еще раз сорь что не смог помочь...


Ренат   (2002-08-08 14:51:00) [7]

Tbl.Active:=TRUE;
А эта строка что по твоему делает?


Leran2002   (2002-08-08 14:35:00) [8]

А открывать ее не надо, просто укажи ее в свойстве TableName...


Ренат   (2002-08-08 14:31:00) [9]

так я ж таблицу не могу открыть


Leran2002   (2002-08-08 14:24:00) [10]

Регенерация это что-то типа пересоздания индексов, вот тебе кусок кода (только перед тем как запускать закрой свой проект, а-то Delphi будет блокировать таблицу, или вообще закрой Delphi):

uses BDE;
...

{Регенерация индексов таблицы Базы Данных (проверялось только на файлах DBF)
Здесь, если NrErr>0 , то вывод на экран сообщения об ошибке (если была ошибка).}

function TableRegenIndexes(NrErr : byte;Tbl : TTable) : Boolean;
Var
YesEx,YesAct : byte;
S : String;
Res,Res1 : DBIResult;
CCC : array[0..255] of Char;
begin
YesEx:=0;
if Tbl.Exclusive then YesEx:=1;
YesAct:=0;
if Tbl.Active then YesAct:=1;
Tbl.Active:=FALSE;
Tbl.Exclusive:=TRUE;
Tbl.Active:=TRUE;
Res:=DbiRegenIndexes (Tbl.Handle);
Tbl.Active:=FALSE;
if YesEx<=0 then Tbl.Exclusive := FALSE;
if YesAct>0 then Tbl.Active:=TRUE;

if Res=0 then begin
Result:=TRUE;
end
else begin
if NrErr>0 then begin
Res1:=DbiGetErrorString (Res,CCC);
Str(Res,S);
S:="Ошибка реген.индекс.: "+S+" -> "+StrPAS(CCC)+" для : "+Tbl.TableName;
MessageBeep(mb_IconHand);
MessageDlg(S,mtError,[mbOk],0);
end;
end;
end;

procedure TForm1.Button3Click(Sender: TObject);
var
Er:byte;
begin
TableRegenIndexes(Er,Table1);
end;


Ренат   (2002-08-08 14:13:00) [11]

переиндексировать да
а что значит регенереция?


Leran2002   (2002-08-08 13:53:00) [12]

Подожди, а переиндексировать таблицы не пробывал, или зделать регенерацию индексов???


Leran2002   (2002-08-08 13:51:00) [13]


> Ренат © (08.08.02 13:49)

Все здаюсь, мыслей нет... Сорь что не смог помочь...


Ренат   (2002-08-08 13:49:00) [14]

Нет таблицы там не открываются кодовая страница у них dBase rus cp866
Проблема в каком-то глюке только не пойму где. Потому как например беру удаляю простой индекс у таблицы состоя щий из 1 поля и все открывается Только при чем ошибка в языковом драйвере непонятно?


Leran2002   (2002-08-08 13:41:00) [15]

Подождика я кажись не внимательно прочитал вопрос, кажись проблема в языковом драйвере, попробуй открыть таблицу при помощи DBDesktop (надеюсь она откроется), сделай Restructure, там в Table Properties есть Table Language, потом Modify, и там попробуй поставить что нить другое...


Ренат   (2002-08-08 13:29:00) [16]

Да проблема в другом как-то коряво все работает
То delphi сваливается при открытии таблицы, то Table does not exist
Может это из-за драйвера Microsoft Visual FoxPro Driver
потому что таблицы на какой-то древней версии foxpro
только при выборе других драйверов dBase или foxpro driver появляется ошибка ODBC что не удется загрузить программы для установки драйвера из-за системной ошибки


Leran2002   (2002-08-08 13:16:00) [17]

При помощи ODBC Administrator - Remove...
Че никак не хочет идти???


Ренат   (2002-08-08 13:09:00) [18]

Естественно только как интересно эти алиасы удаляются?


Leran2002   (2002-08-08 12:11:00) [19]

Ты выбрал Free Table directory при создании Алиаса???


Ренат   (2002-08-08 11:45:00) [20]

Что-то получается но почему-то из 4 таблиц из каталога открывается только одна в разное время другая а так выдается ошибка table does not exists


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо