![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблема со сканированием БД в BDE [D7, Paradox]
BRemB © (2004-08-11 16:35:00)Добрый день, Мастера! У меня такая проблема, я пытаюсь полностью просканировать все алиасы в bde и составить дерево их у себя в приложении. Но мне нееобходимо узнать и таблицы по алиасам, но у меня при сканировании все виснет. Привожу код функции. Помогите плз, в чем баг?
procedure TfrmAddTableInDB.FormShow(Sender: TObject);
var LstAlias : TStringList;
LstTables : TStringList;
i,j : integer;
RootTree : TTreeNode;
ChildTree : TTreeNode;
begin
TreeView1.Items.Clear;
LstAlias:=TStringList.Create;
LstTables:=TStringList.Create;
try
Session .GetAliasNames(LstAlias);
except
ShowMessage('Ошибка инициализации BDE!');
end;
for i:=0 to LstAlias.Count-1 do
begin
RootTree:=TreeView1.Items.Add(nil,LstAlias.Strings[i]);
LstTables.Clear;
try
Session.GetTableNames(LstAlias.Strings[i],'*.db',false,false,LstTables);
for j:=0 to LstTables.Count-1 do
ChildTree:=TreeView1.Items.AddChild(RootTree,LstTables.Strings[j]+'.db');
except
on EDBEngineError do continue;
end;
end;
end;
BRemB (2004-08-12 14:16:00) [1]вот именно, интересный наблюдается факт, код написанный на другой машине и там скомпилированный на D7 работает, и там и у меня. Я пишу на своей машине точно такой же код и компилирую у себя, но у меня не работает. Использую компонент TDatabase. Привожу код.
procedure TForm1.Button1Click(Sender: TObject);
begin
Session1.Active:=true;
Session1.GetAliasNames(combobox3.Items);
end;
procedure TForm1.ComboBox3Click(Sender: TObject);
begin
Database1.Connected:=false;
Database1.AliasName:=combobox3.Items.Strings[combobox3.ItemIndex];
Database1.GetTableNames(listbox1.Items);
Database1.Connected:=true;
end;
Соловьев (2004-08-12 11:30:00) [2]
> Да и еще у меня есть алиасы к интербейсу, они у меня проходят
> нормально
хм...тогда не ясно чего она ждет...
BRemB (2004-08-12 11:29:00) [3]
> А ждет она ввода пароля и логина.
Да, но почему же не выводит окно ввода пароля и логина. Да и еще у меня есть алиасы к интербейсу, они у меня проходят нормально. В таком случае они тоже должны были выдавать окно ввода пароля и логина.
Соловьев (2004-08-12 11:18:00) [4]я так понимаю у тебя нет там исключительной ситуации прога ждет. А ждет она ввода пароля и логина.
app (2004-08-12 11:17:00) [5]BRemB (12.08.04 11:03) [14]
Рассмешил, MS SQL сервер это не исключительная ситуация, а нормальный промышленный сервер. Не кати бочку на Микрософт, есть более точные мишени.
BRemB (2004-08-12 11:03:00) [6]по моему коду видно, что при возникновении исключительных ситуаций они будут обрабатываться, а MS SQL - это исключительная ситуация.
> про МС СКЛ мы должны были догадаться
Вы могли догадаться, что в BDE могут быть и MSSQL
Anatoly Podgoretsky (2004-08-12 10:58:00) [7]Они просто не лезут грязными руками на SQL сервер
Соловьев (2004-08-12 10:43:00) [8]
> поэтому я и кинул вопрос на форум
по твоему коду видно, что тебя интересует таблицы парадокс, про МС СКЛ мы должны были догадаться?
BRemB (2004-08-12 10:41:00) [9]
> И чего ты лезешь на SQL сервер?
Я просто перебираю все алиасы, и когда доходит до MQIS, то останавливается. Вот именно, что другое приложение написано правильно, я хочу выяснить в чем у меня ошибка, поэтому я и кинул вопрос на форум
Anatoly Podgoretsky (2004-08-11 17:58:00) [10]BRemB (11.08.04 17:33) [7]
Так другое приложение написано правильно. И чего ты лезешь на SQL сервер?
BRemB (2004-08-11 17:40:00) [11]есть ГИС Zulu 5.2 там есть такая штука, я хочу сделать также
Rule (2004-08-11 17:34:00) [12]BRemB (11.08.04 17:33) [7]
Какое другое приложение
BRemB (2004-08-11 17:33:00) [13]
> Может с самим BDE чегото
C BDE все нормально, т.к. другая программа может все это сделать и с довольно приличной скоростью
> а если 10 алиасов?
тоже самое, я заметил, что в BDE усть такой алиас MQIS - SQL Server'a, до него все идет нормально, а на нем все останавливается и я не могу его удалить, хотя SQL Server остановлен. Другое приложение полностью анализирует структуру даже с этим алиасом.
Соловьев (2004-08-11 17:12:00) [14]а если 10 алиасов?
Rule (2004-08-11 17:11:00) [15]Может с самим BDE чегото
BRemB (2004-08-11 16:46:00) [16]
> А пройти дебагером слабо?
Я говорю же что на 42 итерации виснет никак не реагирует, отлаживал пошагово
BRemB (2004-08-11 16:43:00) [17]пробовал, но все равно, в bde примерно 60 алиасов, и на 42 виснет, причем пробовал вставлять новые и удалять.
Rule (2004-08-11 16:41:00) [18]on EDBEngineError do continue;
а мне эта строчка кажется подозрительной, ну не логично както, если хотите продолжить даже в случае ошибки то просто ничего не пишите
Соловьев (2004-08-11 16:40:00) [19]А пройти дебагером слабо?