Гость
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Bug в fbclient / 25 сообщений из 135, страница 1 из 6
24.02.2016, 00:09
    #39177313
__Avenger__
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Bug в fbclient
Добрый вечер!

Невозможно одновременно произвести загрузку в процесс fbclient от в 2.5 и от в 3.0 embedded.

Код: sql
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.
program Project1;

{$APPTYPE CONSOLE}

uses
  Windows,
  SysUtils;

const
  isc_dpb_version1               =          1;
  isc_dpb_user_name              =         28;
  isc_dpb_password               =         29;

type
  TISC_DB_HANDLE       = PVoid;
  PISC_DB_HANDLE       = ^TISC_DB_HANDLE;
  ISC_STATUS           = LongInt; // 32 bit signed
  PISC_STATUS          = ^ISC_STATUS;
  Tisc_attach_database = function (status_vector            : PISC_STATUS;
                                   db_name_length           : Short;
                                   db_name                  : PAnsiChar;
                                   db_handle                : PISC_DB_HANDLE;
                                   parm_buffer_length	      : Short;
                                   parm_buffer              : PAnsiChar): ISC_STATUS; stdcall;

var
  ADataBase1,
  ADataBase2: TISC_DB_HANDLE;

function AttachDatabase(const ALibName: String; const AName, AUserName, AUserPassword: AnsiString): TISC_DB_HANDLE;
var
  AHandle: HMODULE;
  Aisc_attach_database: Tisc_attach_database;
  AStatus: PISC_STATUS;
  AErrCode: ISC_STATUS;
  dbp: AnsiString;
begin
  Result := nil;
  AHandle := LoadLibrary(PChar(ALibName));
  if not(AHandle > HINSTANCE_ERROR) then
    Exit;
  Aisc_attach_database := GetProcAddress(AHandle, 'isc_attach_database');
  if not Assigned(Aisc_attach_database) then
    RaiseLastOSError;
  dbp := AnsiChar(isc_dpb_version1);
  dbp := dbp + AnsiChar(isc_dpb_user_name);
  dbp := dbp + AnsiChar(Length(AUserName));
  dbp := dbp + AUserName;
  dbp := dbp + AnsiChar(isc_dpb_password);
  dbp := dbp + AnsiChar(Length(AUserPassword));
  dbp := dbp + AUserPassword;
  AErrCode := Aisc_attach_database(@AStatus, Length(AName), PAnsiChar(AName), @Result, Length(dbp), PAnsiChar(dbp));
  if AErrCode <> 0 then
    Result := nil;
  WriteLn(AErrCode);
end;

begin
  try
    ADataBase1 := AttachDatabase('C:\Program Files (x86)\FB25\fbclient.dll', '192.168.1.12:C:\Cashs2\DB\cashs.FDB', 'SYSDBA', 'masterkey');
    ADataBase2 := AttachDatabase('C:\Cashs2.FB3\fbclient.dll', 'C:\Cashs2.FB3\DB\cashs.FDB', 'SYSDBA', 'masterkey');
    ReadLn;
  except
    on E: Exception do
      WriteLn(E.ClassName, ': ', E.Message);
  end;
end.



Происходит ошибка 335545004 и приложение валится с AccessViolation. Данное поведение зафискировано и в IBExpert. Что я делаю не так?

PS. FB 2.5 - FireBird 2.5.5.26952 ClassicServer
FB3.0 - FB 3.0 RC1 Embedded
...
Рейтинг: 0 / 0
24.02.2016, 00:12
    #39177315
__Avenger__
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Bug в fbclient
Тема с IBExpert тут
...
Рейтинг: 0 / 0
24.02.2016, 00:42
    #39177324
чччД
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Bug в fbclient
__Avenger__,

только что скачал FB 3.0 снапшот, создал базу, указав локальное подключение.
Получилось.
После этого, не выполняя дисконнекта, подконнектился к удаленному серверу FB 2.0, используя клиента от fb 2.5.
Использовал свежескачанный IBExpert.

Все работает.
...
Рейтинг: 0 / 0
24.02.2016, 00:45
    #39177325
__Avenger__
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Bug в fbclient
Нужна обратная последовательность. Сначала FB2.5, потом 3.0 embedded.
...
Рейтинг: 0 / 0
24.02.2016, 00:49
    #39177327
чччД
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Bug в fbclient
__Avenger__Нужна обратная последовательность. Сначала FB2.5, потом 3.0 embedded.

И обратно все равно работает. Правда, клиент fb2.5 у меня embedded. Но коннект к серверу "удаленный".
...

Может, я что напутал. Э... чтобы fb 3.0 клиент стал embedded, нужно лишь "локальный" коннект указывать, так?
...
Рейтинг: 0 / 0
24.02.2016, 00:52
    #39177328
__Avenger__
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Bug в fbclient
чччД__Avenger__Нужна обратная последовательность. Сначала FB2.5, потом 3.0 embedded.

И обратно все равно работает. Правда, клиент fb2.5 у меня embedded. Но коннект к серверу "удаленный".
...

Может, я что напутал. Э... чтобы fb 3.0 клиент стал embedded, нужно лишь "локальный" коннект указывать, так?

Проверил с клиентом Embedded 2.5 - у меня тоже ок. Попробуй клиента не от embedded.
...
Рейтинг: 0 / 0
24.02.2016, 00:56
    #39177329
__Avenger__
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Bug в fbclient
чччДМожет, я что напутал. Э... чтобы fb 3.0 клиент стал embedded, нужно лишь "локальный" коннект указывать, так?

У меня в конфиге firebird.conf прописано это:
Код: sql
1.
2.
ServerMode = Classic
Providers = Engine12
...
Рейтинг: 0 / 0
24.02.2016, 00:56
    #39177330
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Bug в fbclient
__Avenger__Происходит ошибка 335545004Это isc_pman_cannot_load_plugin.
Там обычно есть ещё вторичные коды ошибки

__Avenger__приложение валится с AccessViolation. Данное поведение зафискировано и в IBExpert.IBE тоже падает ?

Текущий снапшот пробовал ?
...
Рейтинг: 0 / 0
24.02.2016, 00:57
    #39177332
__Avenger__
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Bug в fbclient
hvlad,

IBE не падает. С последним снапшотом все аналогично.
...
Рейтинг: 0 / 0
24.02.2016, 00:58
    #39177333
__Avenger__
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Bug в fbclient
hvladТам обычно есть ещё вторичные коды ошибки

С помощью какой API функции их посмотреть?
...
Рейтинг: 0 / 0
24.02.2016, 01:00
    #39177335
чччД
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Bug в fbclient
__Avenger__чччДМожет, я что напутал. Э... чтобы fb 3.0 клиент стал embedded, нужно лишь "локальный" коннект указывать, так?

У меня в конфиге firebird.conf прописано это:
Код: sql
1.
2.
ServerMode = Classic
Providers = Engine12


Прописал то же самое в firebird.conf. Переконнектился. Работает без ошибок.
...
Рейтинг: 0 / 0
24.02.2016, 01:02
    #39177336
__Avenger__
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Bug в fbclient
чччД__Avenger__пропущено...


У меня в конфиге firebird.conf прописано это:
Код: sql
1.
2.
ServerMode = Classic
Providers = Engine12


Прописал то же самое в firebird.conf. Переконнектился. Работает без ошибок.

Клиента сменил от fb2.5 на неembedded?
...
Рейтинг: 0 / 0
24.02.2016, 01:04
    #39177337
чччД
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Bug в fbclient
__Avenger__чччДпропущено...

Прописал то же самое в firebird.conf. Переконнектился. Работает без ошибок.

Клиента сменил от fb2.5 на неembedded?
Пять минут.
...
Рейтинг: 0 / 0
24.02.2016, 01:04
    #39177338
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Bug в fbclient
__Avenger__hvladТам обычно есть ещё вторичные коды ошибки

С помощью какой API функции их посмотреть?fb_interpret (или, старая небезопасная isc_interprete)

В C:\Cashs2.FB3\ есть остальные файлы от fb3 ?
...
Рейтинг: 0 / 0
24.02.2016, 01:07
    #39177339
__Avenger__
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Bug в fbclient
hvlad,

Да, полностью распакованный дистрибутив.

Проверил свежий дистрибутив IBE:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
Error Message:
----------------------------------------
Unsuccessful execution caused by system error that does not preclude successful execution of subsequent statements.
Error loading plugin Engine12.
Module D:\1\Firebird-3.0.0.32349-0_Win32\plugins/Engine12 exists but can not be loaded.


[0054511E] FIB.IBError (Line 533, "FIB.pas" + 55) + $2
[00541201] FIBDatabase.TFIBDatabase.Open (Line 936, "FIBDatabase.pas" + 50) + $5
[00517717] pFIBDatabase.TpFIBDatabase.Open (Line 297, "pFIBDatabase.pas" + 9) + $2
[00541497] FIBDatabase.TFIBDatabase.SetConnected (Line 999, "FIBDatabase.pas" + 3) + $2
[01052CC2] IBEDatabases.TIBEDatabase.Connect (Line 3095, "IBEDatabases.pas" + 3) + $10
[00FEDD39] InspectorFm.TInspectorFrame.OpenDatabase (Line 3518, "Frames\InspectorFm.pas" + 49) + $D
[00FE8B7E] InspectorFm.TInspectorFrame.ObjectsTLDblClick (Line 1481, "Frames\InspectorFm.pas" + 11) + $A
[00455281] Controls.TControl.DoMouseDown (Line 4306, "Controls.pas" + 2) + $21
[0045533D] Controls.TControl.WMLButtonDblClk (Line 4331, "Controls.pas" + 5) + $C
[00444044] Forms.StdWndProc (Line 1459, "Forms.pas" + 8) + $0
[0044D853] Forms.TApplication.ProcessMessage (Line 6630, "Forms.pas" + 13) + $1
[01094F90] IBExpert.IBExpert (Line 1390, "D:\Projects_5\IBExpert\IBExpert.dpr" + 594) + $7
...
Рейтинг: 0 / 0
24.02.2016, 01:09
    #39177340
чччД
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Bug в fbclient
чччД__Avenger__пропущено...


Клиента сменил от fb2.5 на неembedded?
Пять минут.
Сменил. Скачал свежий снапшот.

Последовательно:

1. Коннект к удаленному FB 2.0 через fbclient.dll от FB 2.5 - ОК.

2. Коннект (локальный) к локальной базе FB 3.0 ч/з fbclient.cdll от FB 3.0 - ошибка:
...
Рейтинг: 0 / 0
24.02.2016, 01:10
    #39177341
чччД
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Bug в fbclient
чччДчччДпропущено...

Пять минут.
Сменил. Скачал свежий снапшот.

Последовательно:

1. Коннект к удаленному FB 2.0 через fbclient.dll от FB 2.5 - ОК.

2. Коннект (локальный) к локальной базе FB 3.0 ч/з fbclient.cdll от FB 3.0 - ошибка:
...
Рейтинг: 0 / 0
24.02.2016, 01:14
    #39177342
чччД
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Bug в fbclient
Ха.

Выполнил дисконнект, снова коннекты. Ошибка пропала. :)
...
Рейтинг: 0 / 0
24.02.2016, 01:18
    #39177344
чччД
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Bug в fbclient
Если fb 2.5 клиент - "embed", то ошибки нет.
...
Ну, у меня "не-embed" клиенты не используются.
...
Рейтинг: 0 / 0
24.02.2016, 01:26
    #39177345
чччД
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Bug в fbclient
О, Господи...
На последнем снапшоте (2.5.6.26975) FB 2.5. при дисконнекте с embed - клиентом "зависает", а потом "падает" IBExpert.

Вернулся на старого клиента (2.5.2.26540). Все хорошо.
...
Рейтинг: 0 / 0
24.02.2016, 01:28
    #39177346
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Bug в fbclient
Воспроизвёл.

В момент загрузки engine12.dll загрузчик выдаёт ошибку "Entry Point Not Found"
Судя по всему, загрузчик пытается связать engine12.dll с fbclient.dll от v2.5, а не от v3
Непосредственно влиять на это мы не можем, так что придётся пользоваться какой-то одной клиентской библиотекой, благо это возможно.
...
Рейтинг: 0 / 0
24.02.2016, 01:37
    #39177347
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Bug в fbclient
hvladпридётся пользоваться какой-то одной клиентской библиотекойИли переименовать клиента от 2.5, если уж так сильно хочется
...
Рейтинг: 0 / 0
24.02.2016, 01:38
    #39177348
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Bug в fbclient
чччДНа последнем снапшоте (2.5.6.26975) FB 2.5. при дисконнекте с embed - клиентом "зависает", а потом "падает" IBExpert.А вот с этим я сегодня уже не буду разбираться, постараюсь завтра
...
Рейтинг: 0 / 0
24.02.2016, 01:38
    #39177349
__Avenger__
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Bug в fbclient
hvlad,

Я пробовал переименовать fbclient от fb3, все равно ошибка остается.

Это очень плохо для тех, кто юзает IBExpert совместно с IBExpert User Database.
...
Рейтинг: 0 / 0
24.02.2016, 02:26
    #39177352
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Bug в fbclient
__Avenger__Я пробовал переименовать fbclient от fb3, все равно ошибка остается.Потому что нужно переименовать клиента от 2.5

__Avenger__Это очень плохо для тех, кто юзает IBExpert совместно с IBExpert User Database.Я им постоянно пользуюсь и до сегодняшнего дня не испытывал проблем.
И завтра тоже не буду испытывать.
Не нужно частные проблемы выносить на общемировой уровень.
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Bug в fbclient / 25 сообщений из 135, страница 1 из 6
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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