powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Ошибка при работе с компонентами interbase
61 сообщений из 61, показаны все 3 страниц
Ошибка при работе с компонентами interbase
    #39525761
Гость1234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем добрый день.
Подскажите плз - много перерыл, но не нашел ответа.
Делаю так....
На форму кидаю IBDatabase, ibTransaction, ibquery
Делаю подключение к базе , запрос - все ОК.
Теперь отключаю и включаю сервер FireBird и безуспешно пытаюсь реанимировать эту троицу...

Заранее спасибо.
...
Рейтинг: 0 / 0
Ошибка при работе с компонентами interbase
    #39525827
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гость1234,

Ты наверно не у того объекта из "этой тройцы" вызываешь функцию "Реанимировать". Или передаешь параметр этой функции "ЧтобыВсёРаботало"=False, а надо True.
...
Рейтинг: 0 / 0
Ошибка при работе с компонентами interbase
    #39525839
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гость1234,

Покажи плиз код, как ты пытаешься это сделать.
...
Рейтинг: 0 / 0
Ошибка при работе с компонентами interbase
    #39525866
Любезный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты лучше сожги сервер и потом попробуй включить и подцепиться :)
...
Рейтинг: 0 / 0
Ошибка при работе с компонентами interbase
    #39525899
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гость1234Всем добрый день.
Подскажите плз - много перерыл, но не нашел ответа.
Делаю так....
На форму кидаю IBDatabase, ibTransaction, ibquery
Делаю подключение к базе , запрос - все ОК.
Теперь отключаю и включаю сервер FireBird и безуспешно пытаюсь реанимировать эту троицу...

Заранее спасибо.
Создай минимальное приложение, повторяющее "проблему", и выложи здесь.
...
Рейтинг: 0 / 0
Ошибка при работе с компонентами interbase
    #39525909
goldmi45
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гость1234,

после того, как вы остановили и снова запустили сервер, вы восстановили соединение с сервером у компоненты IBDatabase?
...
Рейтинг: 0 / 0
Ошибка при работе с компонентами interbase
    #39525920
Гость1234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо всем за сообщение ))
Особенно любезен Любезный )))
Пишу из дома - завтра выложу код.
Я его действительно сделал отдельным, новым приложением и мусолил эти три компоненты по разному. Причем со всех сторон ))
Многое стирал и делал по новому. Почему то не нашел подобных проблем - прогуглил и данный форум и другие форумы. Конечно возможно ошибка в моем ДНК ))
В любом случае спасибо за отклики - завтра продолжу ...
...
Рейтинг: 0 / 0
Ошибка при работе с компонентами interbase
    #39525942
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гость1234,

В чем проблема то?
...
Рейтинг: 0 / 0
Ошибка при работе с компонентами interbase
    #39525945
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_В чем проблема то?

Он же написал - в ДНК.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Ошибка при работе с компонентами interbase
    #39525953
Guest7777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Возможно, ему надо обратиться к застарелым статьям "Решение проблем дисконнекта в IBX" на ibase.ru. Не удивлюсь, если там с тех пор ничего не поменялось..
...
Рейтинг: 0 / 0
Ошибка при работе с компонентами interbase
    #39526006
Фотография krapotkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
там и не нужно ничего менять
произошел дисконнект - сам поднимай заново и коннект и запросы
...
Рейтинг: 0 / 0
Ошибка при работе с компонентами interbase
    #39526009
Guest7777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это только на совсем неискушенный взгляд. Раньше оно в подобных обстоятельствах просто не давало дальше ничего сделать (даже просто нормально завершить приложение), засыпая пачками AV.
...
Рейтинг: 0 / 0
Ошибка при работе с компонентами interbase
    #39526018
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Guest7777Это только на совсем неискушенный взгляд. Раньше оно в подобных обстоятельствах просто не давало дальше ничего сделать (даже просто нормально завершить приложение), засыпая пачками AV.
Какие тяжелые времена раньше были, смотри-ка.
...
Рейтинг: 0 / 0
Ошибка при работе с компонентами interbase
    #39526021
Guest7777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не но, возможно, кто- то обладает информацией, чтобы уверенно и компетентно подтвердить, что сейчас в IBX в этой части стало все пристойно или будет продолжатся все то же растеканье мыслею по древу?
...
Рейтинг: 0 / 0
Ошибка при работе с компонентами interbase
    #39526022
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Guest7777Не но, возможно, кто- то обладает информацией, чтобы уверенно и компетентно подтвердить, что сейчас в IBX в этой части стало все пристойно или будет продолжатся все то же растеканье мыслею по древу?

Вряд ли кто-то опишет решение так же конкретно, как ты выше описал проблему. Особенно если никто с проблемой не сталкивался.
...
Рейтинг: 0 / 0
Ошибка при работе с компонентами interbase
    #39526029
Guest7777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я не просил описывать решений (решения для прежних версий приводились в т.ч. и мной в упомянутых статьях на сайте у Кузьменко), а лишь хотел услышать от современных пользователей IBX, как оно сейчас ведет себя при потере коннекта (не исключаю, что все так же), если кто-то из по-прежнему практикующих IBX курсе. Ибо сам со временем подзабил.))
...
Рейтинг: 0 / 0
Ошибка при работе с компонентами interbase
    #39526042
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Guest7777как оно сейчас ведет себя при потере коннекта (не исключаю, что все так же)Не знаю, что значит "все так же", но у меня на древнем D6 ведет себя абсолютно правиоьно - при потере коннекта на любое сетевое обращение выдается соотв. исключение, штатно обработав которое делаешь реконнект, переоткрываешь запросы и всё работает дальше как часы.
...
Рейтинг: 0 / 0
Ошибка при работе с компонентами interbase
    #39526058
Гость1234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
YuRock, Guest7777 - а может дадите ссылки, где мне почитать о ваших решениях, чтобы и у меня работало как часы?
...
Рейтинг: 0 / 0
Ошибка при работе с компонентами interbase
    #39526073
Гость1234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вашему вниманию текущая проба решить проблему

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, IBDatabase, StdCtrls, Buttons, Grids, DBGridEh,
  IBCustomDataSet, IBQuery;

type
  TForm1 = class(TForm)
    BitBtn1: TBitBtn;
    Edit1: TEdit;
    Edit2: TEdit;
    IBQuery1: TIBQuery;
    DBGridEh1: TDBGridEh;
    Button2: TButton;
    DataSource1: TDataSource;
    procedure ErrorRun();
    procedure BitBtn1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  tr:TIBTransaction;
  db1,db2:tibdatabase;

implementation

{$R *.dfm}

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
 try
   db1:=TIBDatabase.Create(self);
   db1.DatabaseName:='D:\Basa\Limonad\ZULFIRA.FBD';
   db1.Params.Add('user_name=SYSDBA');
   db1.Params.Add('password=masterkey');
   db1.LoginPrompt:=false;
   db1.Connected:=true;
   edit1.Text:='run';
 except
   edit1.Text:='err';
 end;
 try
   db2:=TIBDatabase.Create(self);
   db2.DatabaseName:='D:\Basa\Ekzam\EKZM.FDB';
   db2.Params.Add('user_name=SYSDBA');
   db2.Params.Add('password=masterkey');
   db2.LoginPrompt:=false;
   db2.Connected:=true;
   edit2.Text:='run';
 except
   edit2.Text:='err';
 end;
 tr:=TIBTransaction.Create(Self);
 tr.AddDatabase(db1);
 tr.AddDatabase(db2);
 Button2Click(Sender);
end;

procedure TForm1.Button2Click(Sender: TObject);
var err:boolean;
begin
  err:=false;
  try

   tr.Active:=false;
   db2.Connected:=false;
   IBQuery1.Database:=Db2;
   IBQuery1.Transaction:=tr;
   Db1.Connected:=true;
   Db2.Connected:=true;
   tr.Active:=true;
   with IBQuery1.SQL do begin
     clear;
     Add('select * from formul');
   end;
   IBQuery1.Active:=true;
   // îáû÷íîå îòêðûòèå
  except
    err:=true;
  end;
  if err then ErrorRun;
end;

procedure TForm1.ErrorRun;
begin
  try
    IBQuery1.Close;
  Except
  end;
  try
    tr.Databases[1].CloseDataSets;
  Except
  end;
  try
    tr.RemoveDatabase(1);
  Except
  end;
  try
    db2.CloseDataSets;
  Except
  end;
  try
    db2.Connected:=false;
    //  error writing data to the connection
  Except
  end;
  try
    tr.AddDatabase(db2);
  Except
  end;


end;

end.
...
Рейтинг: 0 / 0
Ошибка при работе с компонентами interbase
    #39526075
Гость1234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На db1 не смотрите - "рыбу заворачивал..."
...
Рейтинг: 0 / 0
Ошибка при работе с компонентами interbase
    #39526103
Гость1234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Guest7777

Нашел эту статью... Попробую разобраться...
...
Рейтинг: 0 / 0
Ошибка при работе с компонентами interbase
    #39526123
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гость1234,

Ну и зачем тебе 2 Tibdatabase?
...
Рейтинг: 0 / 0
Ошибка при работе с компонентами interbase
    #39526126
Гость1234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DarkMaster

А куда рыбу заворачивать?
...
Рейтинг: 0 / 0
Ошибка при работе с компонентами interbase
    #39526163
schi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гость1234Вашему вниманию текущая проба решить проблему

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
procedure TForm1.ErrorRun;
begin
  try
    IBQuery1.Close;
  Except
  end;
  try
    tr.Databases[1].CloseDataSets;
  Except
  end;
  try
    tr.RemoveDatabase(1);
  Except
  end;
  try
    db2.CloseDataSets;
  Except
  end;
  try
    db2.Connected:=false;
    //  error writing data to the connection
  Except
  end;
  try
    tr.AddDatabase(db2);
  Except
  end;

end.



Ты хоть понимаешь, что ты делаешь или просто буквы знакомые пишешь ?
...
Рейтинг: 0 / 0
Ошибка при работе с компонентами interbase
    #39526192
Гость1234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
schi

Уже походу больше буквы ищу знакомые - что только не пробовал ...
...
Рейтинг: 0 / 0
Ошибка при работе с компонентами interbase
    #39526257
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гость1234YuRock, Guest7777 - а может дадите ссылки, где мне почитать о ваших решениях, чтобы и у меня работало как часы?
Одно из костыльных решений
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
procedure TfrmMain.OnAppException(Sender: TObject; E: Exception);
begin
  if E is EIBError then begin
    Log( 'Ошибка базы данных: ' + E.Message, 1 );
    if IsCriticalIBError( ( E as EIBError ).IBErrorCode ) then
      ReconnectAllOnCriticalDBError;
  end else
    Log( 'Неопределенная ошибка: ' + E.Message, 1 );
end;


ф-ция IsCriticalIBError выглядит примерно так:
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
function IsCriticalIBError( iscErrorCode: Integer ): Boolean;
const
  MAX_IBCRITICAL_ERROR = 14;
  anIBCriticalErrors: Array[ 1..MAX_IBCRITICAL_ERROR ] of Integer = (
    isc_lost_db_connection,
    isc_net_init_error,
    isc_network_error,
    isc_net_connect_err,
    isc_net_connect_listen_err,
    isc_net_event_connect_err,
    isc_net_event_listen_err,
    isc_net_read_err,
    isc_net_write_err,
    isc_io_create_err,
    isc_io_open_err,
    isc_io_close_err,
    isc_io_read_err,
    isc_io_write_err
  );
var
  i: Integer;
begin
  for i := 1 to MAX_IBCRITICAL_ERROR do if iscErrorCode = anIBCriticalErrors[ i ] then begin
    Result := True;
    Exit;
  end;

  Result := False;
end;


в ReconnectAllOnCriticalDBError делаешь
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
if db.Connected then
  db.ForceClose;

db.Connected := True;

// И со своими препарированными запросы надо Unprepare/Prepare;
// И свои открытые датасеты надо переоткрыть
// (для чего, естественно, транзакцию опаять стартовать)
...
Рейтинг: 0 / 0
Ошибка при работе с компонентами interbase
    #39526273
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гость1234Вашему вниманию текущая проба решить проблему

Говно какое-то.
А почему ты не делаешь то, что я тебе говорил? 20821298
...
Рейтинг: 0 / 0
Ошибка при работе с компонентами interbase
    #39526354
Гость1234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
YuRock

В данном случае, если я правильно понял, ты просто запускаешь свой обработчик поиска ошибки, и потом, запускаешь

Код: pascal
1.
2.
3.
4.
if db.Connected then
  db.ForceClose;

db.Connected := True;


я видать уже совсем дымлюсь, но ошибка уже есть и у меня уже проходит коннект по новой, и транзакция по новой запускается, но как только я обращаюсь к ibquery, мне выдает "Dataset open", хотя я его и фалзил, и слозил...

чччД

Так то это и есть минимальное приложение, повторяющее проблему...

Я запускаю приложение, нажимаю BitBtn1 - вижу нормальное открытие, затем в панели инструментов останавливаю и запускаю по новой Службу FireBird и нажимаю Button2....
...
Рейтинг: 0 / 0
Ошибка при работе с компонентами interbase
    #39526365
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гость1234...
чччД

Так то это и есть минимальное приложение, повторяющее проблему...
...
Ну вот сам его с листа и компилируй, и ошибку сам ищи.
...
Рейтинг: 0 / 0
Ошибка при работе с компонентами interbase
    #39526377
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гость1234,

дык, тебе что надо-то в итоге? Датасет открыть? Или написать чего-то?
...
Рейтинг: 0 / 0
Ошибка при работе с компонентами interbase
    #39526384
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гость1234ты просто запускаешь свой обработчик поиска ошибки
Нет, я устанавливаю общий обработчик необработанных исключений Application.OnException := OnAppException.


Гость1234но как только я обращаюсь к ibquery, мне выдает "Dataset open", хотя я его и фалзил, и слозил
Не знаю, что такое "фалзил, и слозил". Его надо на всякий сделать Dataset.Active := False; Dataset.Active := True; и думаю должно заработать. Если нет - установить в какой строке ошибка и исправлять её.
...
Рейтинг: 0 / 0
Ошибка при работе с компонентами interbase
    #39526386
Гость1234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
чччД

Что сделать? Приложить архив папки с исходниками? могу...

Док

я хочу после проблем с сервером переоткрыть 3 компоненты IBdatabase, IBTrasaction и IBQuery...
...
Рейтинг: 0 / 0
Ошибка при работе с компонентами interbase
    #39526387
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гость1234я хочу после проблем с сервером переоткрыть
А если не получится переоткрыть, что ты собираешься делать?
...
Рейтинг: 0 / 0
Ошибка при работе с компонентами interbase
    #39526393
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гость1234чччД

Что сделать? Приложить архив папки с исходниками? могу...

Док

я хочу после проблем с сервером переоткрыть 3 компоненты IBdatabase, IBTrasaction и IBQuery...
Не, трэш у тебя там какой-то.

Почитай: http://www.ibase.ru/ibx/
...
Рейтинг: 0 / 0
Ошибка при работе с компонентами interbase
    #39526395
Гость1234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
YuRock

ну вот и не получается этот Dataset переоткрыть. У меня его даже удалить не получается ...

Что буду делать - дерево трясти (из анекдота)
...
Рейтинг: 0 / 0
Ошибка при работе с компонентами interbase
    #39526416
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гость1234,

сделано на Лазаре, но в дельфях то же самое
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
procedure TForm1.Button1Click(Sender: TObject);
const
  DBPath: String = 'localhost/3302:d:\temp\Employee.fdb';
  ChrSet: String = 'UTF8';
  LibName: String = 'd:\Portable_program\Firebird_server\Firebird_3_0_2\fbclient.dll';
  UsrNm: String = 'sysdba';
  PW: String = 'cooladmin';
var
  Dbase: TIBDataBase;
  ReadTrans: TIBTransaction;
  Qry: TIBQuery;
  DS: TDataSource;
begin
  Dbase:= TIBDataBase.Create(Application);
  ReadTrans:= TIBTransaction.Create(Application);
  Qry:= TIBQuery.Create(Application);
  DS:= TDataSource.Create(Application);
  try
    with Dbase do
    begin
      DatabaseName:= DBPath;
      DefaultTransaction:= ReadTrans;
      LoginPrompt:= False;
      LibraryName:= LibName;
      Params.Add('lc_ctype=' + ChrSet);
      Params.Add('user_name=' + UsrNm);
      Params.Add('password=' + PW);
    end;

    with ReadTrans do
    begin
      Params.Add('read');
      Params.Add('read_committed');
      Params.Add('rec_version');
      Params.Add('nowait');
      DefaultDatabase:= Dbase;
    end;

    with Qry do
    begin
      Database:= Dbase;
      Transaction:= ReadTrans;
      AutoFetchAll:= True;
      SQL.Text:= 'SELECT COUNTRY, CURRENCY FROM COUNTRY';
    end;

    DS.DataSet:= Qry;
    DBGrid1.DataSource:= DS;

    try
      if not Dbase.Connected then Dbase.Connected:= True;
      try
        ReadTrans.Active:= True;
        try
          Qry.Active:= True;
        except
          on E:EIBError do //uses IB
          begin
            ShowMessage(E.Message);
            Exit;
          end;
        end;
      except
        on E:EIBError do
        begin
          ShowMessage(E.Message);
          Exit;
        end;
      end;
    except
      on E:EIBError do
      begin
        ShowMessage(E.Message);
        Exit;
      end;
    end;

    ShowMessage('Connected!');
  finally
    FreeAndNil(DS);
    FreeAndNil(Qry);
    FreeAndNil(ReadTrans);
    FreeAndNil(Dbase);
  end;
end;                                      

...
Рейтинг: 0 / 0
Ошибка при работе с компонентами interbase
    #39526422
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гость1234ну вот и не получается этот Dataset переоткрыть
Не понимаю тогда, как у меня за минуту получилось тестовый пример сделать, в котором всё получилось.
...
Рейтинг: 0 / 0
Ошибка при работе с компонентами interbase
    #39526427
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доксделано на Лазаре, но в дельфях то же самое
О, а давно в IBX появилась возможность писать
Код: pascal
1.
Dbase.LibraryName:= LibName;


?
...
Рейтинг: 0 / 0
Ошибка при работе с компонентами interbase
    #39526478
Гость1234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Док

Проблемы создать, соединиться и после работы удалить нет.
В твоем случае попробуй, пожалуйста, во время коннекта остановить и запустить сервер и не удаляй созданные компоненты, а переконектись ими к базе по новой...
...
Рейтинг: 0 / 0
Ошибка при работе с компонентами interbase
    #39526479
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockО, а давно в IBX появилась возможность писатьВ ХЕ3 (IBX 17.17) LibraryName нет, но есть ServerType. Суть - зерегистрированный список строк. К каждой строке привязана своя реализация IGDSLibrary. В этой реализации можно менять клиентскую библиотеку
...
Рейтинг: 0 / 0
Ошибка при работе с компонентами interbase
    #39526505
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гость1234остановить и запустить сервер и не удаляй созданные компоненты, а переконектись ими к базе по новой
Ты хочешь то, что в моём примере делает нажатие кнопки ReOpenQuery после перезапуска службы сервера?
...
Рейтинг: 0 / 0
Ошибка при работе с компонентами interbase
    #39526523
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockДоксделано на Лазаре, но в дельфях то же самое
О, а давно в IBX появилась возможность писать
Код: pascal
1.
Dbase.LibraryName:= LibName;



?
Я форк юзаю от -Rik- а-ля фибы.
...
Рейтинг: 0 / 0
Ошибка при работе с компонентами interbase
    #39526533
Гость1234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
YuRock,

Да срабатывает, но почему то у меня после двойного нажатия на ReOpenQuery )))

В любом случае прикольно - спасибо)) Попробую разобраться со своим хозяйством ))
...
Рейтинг: 0 / 0
Ошибка при работе с компонентами interbase
    #39526534
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гость1234В твоем случае попробуй, пожалуйста, во время коннекта остановить и запустить сервер и не удаляй созданные компоненты, а переконектись ими к базе по новой...
Я потому и спрашивал, чего тебе надо, так как ты внятно не можешь объяснить суть проблемы.
...
Рейтинг: 0 / 0
Ошибка при работе с компонентами interbase
    #39526537
Guest7777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_Vasilisk_YuRockО, а давно в IBX появилась возможность писатьВ ХЕ3 (IBX 17.17) LibraryName нет, но есть ServerType. Суть - зерегистрированный список строк. К каждой строке привязана своя реализация IGDSLibrary. В этой реализации можно менять клиентскую библиотеку
А сам-то реально пробовал таким макаром привязать к IBX что-то фаербердовское, а не интербейзовское или пока что чисто теоретические построения?
...
Рейтинг: 0 / 0
Ошибка при работе с компонентами interbase
    #39526565
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Guest7777А сам-то реально пробовал таким макаром привязать к IBX что-то фаербердовскоеДа. Именно таким макаром привязал FB и FBEmbedded. Единственный минус - Эмбаркадера засунула свою реализацию IGDSLibrary в implementation. Поэтому вместо простого наследования пришлось копировать всю реализацию
...
Рейтинг: 0 / 0
Ошибка при работе с компонентами interbase
    #39526601
Guest7777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_Vasilisk_,

т.е. в свойстве ServerType после этого появилась пара новых позиций, соответствующих FB и соотв. образом функциональных?
...
Рейтинг: 0 / 0
Ошибка при работе с компонентами interbase
    #39526630
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Guest7777т.е. в свойстве ServerType после этого появилась пара новых позиций, соответствующих FBДа
Guest7777и соотв. образом функциональных?С этим сложнее. Т.к. мне кроме выбора библиотеки ничего больше не было нужно. Т.е. я скопировал реализацию IGDSLibrary для IB и просто заменил библиотеку. Никаких особых FB-фич мне не требовалось. А так да - я выбираю ServerType и гружу нужного мне клиента.
...
Рейтинг: 0 / 0
Ошибка при работе с компонентами interbase
    #39526639
Guest7777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_Vasilisk_,

Понял, учту. Ибо сам под XE5 счел необходимым править непосредственно исходники IBX для достижения примерно того же функционала, не найдя с наскоку способа сделать это по-человечески надстройкой сверху. Хотя тоже действовал через дополнительную реализацию IGDSLibrary.
...
Рейтинг: 0 / 0
Ошибка при работе с компонентами interbase
    #39526648
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Guest7777,

Дарю 20543220
...
Рейтинг: 0 / 0
Ошибка при работе с компонентами interbase
    #39526691
Guest7777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_Vasilisk_,

Спасибо, конечно, но я, наверное, со своим патчем не сей предмет непосредственно составляющих IBX, пока пешком постою. Все-таки он на порядок менее громоздкий при сравнимом выходном эффекте..
...
Рейтинг: 0 / 0
Ошибка при работе с компонентами interbase
    #39526700
Гость1234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Док

Извини дорогой - водится грешок по поводу внятности мыслей. В любом случае спасибо за помощь )))
...
Рейтинг: 0 / 0
Ошибка при работе с компонентами interbase
    #39526780
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гость1234В любом случае спасибо за помощь )))
теперь, когда у тебя куча полезного кода на руках, обработать событие падение сервера и и потери коннекта - плевое дело. Мне - лениво, извини :)
...
Рейтинг: 0 / 0
Ошибка при работе с компонентами interbase
    #39526859
Гость1234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем огромное спасибо за помощь - разобрался))
Особенно YuRock, Guest7777, Док и чччД ))
Тема закрыта ...
...
Рейтинг: 0 / 0
Ошибка при работе с компонентами interbase
    #39527104
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Погляди еще в http://www.loginovprojects.ru/index.php?page=ibxfbutils

Там может быть уже какие-то наработки, чтобы не изобретать велосипед
...
Рейтинг: 0 / 0
Ошибка при работе с компонентами interbase
    #39527140
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arioch,

Скачал, посмотрел. Про реконнект там ничего нет (я не нашел).
Там есть:
1. Монстры ConnectionPool и IniFile и подобные, которые нужны в редчайших случаях и реализованы сомнительно (особенно умиляют фразы типа "Перед использованием объекта TFBIniFile Вам необходимо создать в базе данных следующую таблицу...");
2. Обычные обертки для создания динамических запросов, которые только уводят начинающих разработчиков в сторону от правильной работы с параметризованными подготовленными запросами;
3. Бессмысленные древние средства для бэкапа/ресторе, которые могут быть только хуже использования элементарных батников с вызовом стандартных средств. И благодаря которым можно только "научиться" и пристраститься делать бэкапы на сервере.

Еще из того, что заметил - все коннекшены делаются синхронно ч-з мьютекс (что является маразмом и совершенно не нужно для 3-го ФБ как минимум, и "говорят" и для 2.5).

Вообще странно выглядят следующие фразы автора:

Чаще всего разработчики делают сравнительно простые приложения, состоящие только из одного (основного) потока...

И особенно:
Сами по себе компоненты IBX мало чем помогут:
- при создании базы данных "с нуля" (IBX позволяет создать лишь пустую базу данных; создание таблиц, полей и прочих объектов осуществляется, как правило, в IBExpert);
- при коррекции структуры рабочей базы данных (в этом случае также используют IBExpert);
- при разработке высокопроизводительных многопоточных серверных приложений;


1-й раз слышу такое. Но уж явно не эту библиотеку я бы использовал для решения этих задач. Вот голый IBX - другое дело.
...
Рейтинг: 0 / 0
Ошибка при работе с компонентами interbase
    #39527152
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я бы вообще не пользовался голым IBX в новый проектах, поскольку это заплыв против течения

Сегодня просто чтобы загрузить fbclient.dll вместо gds32.dll потребовалось копи-пастить реализацию iGDSLibrary, завтра в IBX откусят ещё что-нибудь FBb-специфичное и т.д.

Я даже не знаю (давно не интересовался) многократный выхов SP из IBX убрали уже или всё ещё там....

Впрочем, это вкусовщина
...
Рейтинг: 0 / 0
Ошибка при работе с компонентами interbase
    #39527164
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockвсе коннекшены делаются синхронно ч-з мьютекс (что является маразмом и совершенно не нужно для 3-го ФБ как минимум, и "говорят" и для 2.5).Для IB актуально до сих пор
Ariochмногократный выхов SP из IBX убрали уже или всё ещё там....Это как? Впервые о таком слышу
...
Рейтинг: 0 / 0
Ошибка при работе с компонентами interbase
    #39527198
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_Это как? Впервые о таком слышу
Было во времена мамонтов. До 6.02 кажись было (в некоторых случаях, то ли при какой-то ошибке, то ли еще когда - уже не вспомню) - я у себя подпилил, как и многое другое.
Ariochя бы вообще не пользовался голым IBX в новый проектах
Я тоже. Естественно, он в обязательном порядке требует ручной допилки.
Я имел ввиду скорее "голый API со взятым IBX за основу".
...
Рейтинг: 0 / 0
Ошибка при работе с компонентами interbase
    #39527858
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockя у себя подпилил
YuRockв обязательном порядке требует ручной допилки.

Вопрос 1: зачем брать что-то только ради того, чтобы допилить ?

Вопрос 2: это если допилишь везде и всё, а если

_Vasilisk_Впервые о таком слышу

то как ты будешь допиливать то, о чем ни сном ни духом?

Поэтому для меня, если проект на Firebird, то IBX'у там не место. Это минное поле замедленного действия.
...
Рейтинг: 0 / 0
Ошибка при работе с компонентами interbase
    #39527889
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AriochПоэтому для меня, если проект на Firebird, то IBX'у там не место
В делфе и для новичков - наверно, да. А вот в Лазаре Док на "портированном" почти-IBX вполне работает вроде.
AriochЭто минное поле замедленного действия
На самом деле баги в нем достаточно серьезны, чтобы замедленными быть. Они вылазят сразу. Они описаны везде почти все. Но я не агитирую. Я агитирую, повторяю, за голое апи, т.к. оно развивается и дополняется (в отличие от IBX, т.к. он к Firebird вообще не имеет отношения). И IBX как пример - очень не плох.
А можно вообще на новом апи Firebird начинать. Есть библиотеки, написанные через него? Сомневаюсь.
...
Рейтинг: 0 / 0
61 сообщений из 61, показаны все 3 страниц
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Ошибка при работе с компонентами interbase
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]