powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Может ли Firebird открыть базу с в каталоге кириллическим именем?
25 сообщений из 67, страница 1 из 3
Может ли Firebird открыть базу с в каталоге кириллическим именем?
    #38332969
bazilio77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Программа FB 2.5 delphi XE2.
Отправили демо программы в литву, не запускается.
Стали разбираться виновато кириллическое название каталога.
Смотрю FIBPlus IB_Intf.pas
function isc_attach_database(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;
Ansi


ibase.h
typedef char ISC_SCHAR;
ISC_STATUS ISC_EXPORT isc_attach_database(ISC_STATUS*,
short,
const ISC_SCHAR*,
isc_db_handle*,
short,
const ISC_SCHAR*);

Если я правильно понял ISC_SCHAR - signed char

А как же unicode?
...
Рейтинг: 0 / 0
Может ли Firebird открыть базу с в каталоге кириллическим именем?
    #38332979
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bazilio77Стали разбираться виновато кириллическое название каталога.
Не согласен. Исключительно "фантазия" разработчика, т.к. в поиске полно тем.
...
Рейтинг: 0 / 0
Может ли Firebird открыть базу с в каталоге кириллическим именем?
    #38333008
bazilio77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wadmanbazilio77Стали разбираться виновато кириллическое название каталога.
Не согласен. Исключительно "фантазия" разработчика, т.к. в поиске полно тем.
Извините Литва, и поддержка программе не использующих unicode соответствующая.
fbclient.dll судя по декларации не unicode.
...
Рейтинг: 0 / 0
Может ли Firebird открыть базу с в каталоге кириллическим именем?
    #38333020
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadmanИсключительно "фантазия" разработчика, т.к. в поиске полно тем.
Не совсем. Обрати внимание: "отправили в Литву", т.е. запустили программу с базой в
кириллическом каталоге на винде, где в ANSI кодировке кириллицы нет. В таких условиях есть
только один выход: кодировать имя БД в utf-8 и добавлять в DPB флаг isc_dpb_utf8_filename.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Может ли Firebird открыть базу с в каталоге кириллическим именем?
    #38333036
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakovкодировать имя БД в utf-8
Хотя это скорее всего тоже не поможет.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Может ли Firebird открыть базу с в каталоге кириллическим именем?
    #38333063
bazilio77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovDimitry Sibiryakovкодировать имя БД в utf-8
Хотя это скорее всего тоже не поможет.

Собственно проблемы то для нас нет, переименовали каталог да и все.
Вопрос чисто из любопыnства fbclient.dll поддерживает utf8 в именах файлов или нет?
...
Рейтинг: 0 / 0
Может ли Firebird открыть базу с в каталоге кириллическим именем?
    #38333102
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov"отправили в Литву", т.е. запустили программу с базой в
кириллическом каталоге на винде, где в ANSI кодировке кириллицы нет
Разве что база в пользовательской папке, где имя в нац. кодировке.
...
Рейтинг: 0 / 0
Может ли Firebird открыть базу с в каталоге кириллическим именем?
    #38333170
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bazilio77Вопрос чисто из любопыnства fbclient.dll поддерживает utf8 в именах файлов
или нет?
fbclinet-у вообще наплевать на имена файлов базы. Он их тупо скармливает серверу. А вот
сервер под Windows для открытия файла использует ANSI-фунукции. Linux работает лучше: там
fopen принимает utf8 нормально.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Может ли Firebird открыть базу с в каталоге кириллическим именем?
    #38333215
bazilio77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakovbazilio77Вопрос чисто из любопыnства fbclient.dll поддерживает utf8 в именах файлов
или нет?
fbclinet-у вообще наплевать на имена файлов базы. Он их тупо скармливает серверу. А вот
сервер под Windows для открытия файла использует ANSI-фунукции. Linux работает лучше: там
fopen принимает utf8 нормально.

Замечательно, что и хотел узнать.
Хотя почему бы серверу не использовать unicode функцию непонятно.
...
Рейтинг: 0 / 0
Может ли Firebird открыть базу с в каталоге кириллическим именем?
    #38336841
bazilio77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakovbazilio77Вопрос чисто из любопыnства fbclient.dll поддерживает utf8 в именах файлов
или нет?
fbclinet-у вообще наплевать на имена файлов базы. Он их тупо скармливает серверу. А вот
сервер под Windows для открытия файла использует ANSI-фунукции. Linux работает лучше: там
fopen принимает utf8 нормально.

Вроде бы данное поведение похоже больше на ошибку, а в ответ молчание от dimitr и hvlad.
...
Рейтинг: 0 / 0
Может ли Firebird открыть базу с в каталоге кириллическим именем?
    #38336849
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bazilio77Вроде бы данное поведение похоже больше на ошибкуДанное поведение обсосано 100500 раз в разное время и в разных местах.

Как workaround есть:
- isc_dpb_utf8_filename
- алиасы
...
Рейтинг: 0 / 0
Может ли Firebird открыть базу с в каталоге кириллическим именем?
    #38337238
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladКак workaround есть:
- isc_dpb_utf8_filename
- алиасы
Неработоспособны в Windows на путях с символами не транслируемыми в текущую ANSI страницу.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Может ли Firebird открыть базу с в каталоге кириллическим именем?
    #38337312
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

пиши Адриане, не мне
...
Рейтинг: 0 / 0
Может ли Firebird открыть базу с в каталоге кириллическим именем?
    #38337314
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladпиши Адриане, не мне
Адриано больше за INTL в ответе, не за PIO.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Может ли Firebird открыть базу с в каталоге кириллическим именем?
    #38337322
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bazilio77Отправили демо программы в литву, не запускается.
Стали разбираться виновато кириллическое название каталога.
адский ад. по башке дубиной тому, кто придумал в инсталляторе указывать кириллические имена папок.
...
Рейтинг: 0 / 0
Может ли Firebird открыть базу с в каталоге кириллическим именем?
    #38337327
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

давай ты не будешь мне рассказывать кто за что в ответе, да ?
...
Рейтинг: 0 / 0
Может ли Firebird открыть базу с в каталоге кириллическим именем?
    #38337363
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladдавай ты не будешь мне рассказывать кто за что в ответе, да ?
Jawohl, mein fuhrer!
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Может ли Firebird открыть базу с в каталоге кириллическим именем?
    #38337385
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Каждый может пойти и проголосовать за
CORE-2172 .
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Может ли Firebird открыть базу с в каталоге кириллическим именем?
    #38337396
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovhvladКак workaround есть:
- isc_dpb_utf8_filename
- алиасы
Неработоспособны в Windows на путях с символами не транслируемыми в текущую ANSI страницу.Вот объясни мне - как нужно создать файл с алиасами, чтобы строки в нём были "с символами не транслируемыми в текущую ANSI страницу" ?

Злонамеренная смена системной кодировки не рассматривается.
Не ANSI символы в самом алиасе (а не путь, на который он ссылается) - не рассматривается.
...
Рейтинг: 0 / 0
Может ли Firebird открыть базу с в каталоге кириллическим именем?
    #38337402
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladВот объясни мне - как нужно создать файл с алиасами, чтобы строки в нём были
"с символами не транслируемыми в текущую ANSI страницу" ?
notepad - save as utf-8.
Unicode FAR Manager - F4 - Shift-F8
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Может ли Firebird открыть базу с в каталоге кириллическим именем?
    #38337407
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

да, и вводим русские буквы в пути к БД, чтобы литовские покупатели не зазнавались спали.
...
Рейтинг: 0 / 0
Может ли Firebird открыть базу с в каталоге кириллическим именем?
    #38337462
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladНе ANSI символы в самом алиасе (а не путь, на который он ссылается) - не рассматривается.
Dimitry Sibiryakovnotepad - save as utf-8.Не морочь голову занятым людям.
Больше я в этой теме не пишу.
...
Рейтинг: 0 / 0
Может ли Firebird открыть базу с в каталоге кириллическим именем?
    #38337466
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как будто в этой теме что-то ещё можно писать...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Может ли Firebird открыть базу с в каталоге кириллическим именем?
    #38338084
NickDee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Решил посмотреть как оно на самом деле, с юникодными путями.
Увидел что с utf8_filename не работают юникодные пути.
Нужно сказать, что это не то что ожидает программист (это я из его роли говорю) :)
За время написания я побывал не только в роли программиста, но и в роли пользователя:
- пользователь (IT-директор крупной конторы) скачал триал программы с интересным ему функционалом. Ставит её в папку с юникодным именем в пути (он все программы туда ставит, по-умолчанию), и она блин не работает ( что это за фигня, у них даже триал не работает ).
- пользователь имеет учётную запись с юникодным именем, скачал программу, ставит её в папку по-умолчанию, а программа написана по-взрослому, и поэтому держит базу в AppData (у каждого пользователя своя база). И соответственно программа у этого пользователя не работает, но работает у других пользователей ( сисадмины казлы, не могут настроить мне программу ).

Незапускаемая программа - это явно баг, критический баг. Не, ну конечно можно свесить ответственность на пользователей, мол это они бараны (или сисадмины), т.к. зачем-то используют предоставленную Microsoft-ом возможность использовать юникодные имена в названиях папок и учётных записей, хотя этого делать явно не следует. Почему не следует? Да хотя бы потому что Firebird не умеет обрабатывать пути с юникодными символвами :)

Я прежде чем писать, проверил как оно на самом деле, и даже пользователя создал, и проверил на нём.
Ну и сценарии мной описаные - они вполне себе реальные.
Если бы например разработчики Skype захотели хранить пользовательские данные в Firebird (а это означает по базе на пользователя, и Embedded-only), то проблема бы проявила себя во всей красе.

Вот код программы (XE2):
В коде изначально стоял значок фунта стерлингов, но пришлось его заменить на #$00A3, т.к. не знаю как в форум вставлять юникодные символы.
Для корректного отображения UTF8 нужно установить в свойствах консоли шрифт Lucida Console, если вдруг кто будет запускать и увидит кракозябры :)
Код: 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.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
218.
219.
220.
221.
222.
223.
224.
225.
226.
227.
228.
229.
230.
231.
232.
233.
234.
235.
236.
237.
238.
239.
240.
program Utf8PathBug;

{$APPTYPE CONSOLE}

uses
  SysUtils,
  Winapi.Windows;

type
  EFBException = class(Exception)
  private
    FSqlCode: Integer;
    FErrorCode: Word;
    FSqlState: RawByteString;
  public
    constructor Create(const AMsg: string; ASqlCode: Integer; AErrorCode: Word; const ASqlState: RawByteString);
  end;

  EFBExceptionClass = class of EFBException;

{ EFBException }

constructor EFBException.Create(const AMsg: string; ASqlCode: Integer;
  AErrorCode: Word; const ASqlState: RawByteString);
begin
  inherited Create(AMsg);

  FSqlCode := ASqlCode;
  FErrorCode := AErrorCode;
  FSqlState := ASqlState;
end;

procedure SetConsoleToUTF8;
begin
  if IsConsole then
    SetConsoleOutputCP(65001);
end;

procedure Test;
type
  {$IFDEF CPUX64}
  PtrInt = IntPtr;
  {$ELSE}
  PtrInt = type Longint;
  {$ENDIF}

  {$IFDEF FB25_UP}
  const
    FB_SQLSTATE_SIZE  = 6;
  {$ENDIF}

  ISCStatus = type PtrInt;
  PISCStatus = ^ISCStatus;
  PPISCStatus = ^PISCStatus;
  isc_db_handle = PPointer;
  IscDbHandle = type isc_db_handle;
  PIscDbHandle = ^IscDbHandle;
  ISC_LONG = type Integer;
  ISCLong = ISC_LONG;

const
  fb_shutrsn_svc_stopped      = -1;
  fb_shutrsn_app_stopped      = -3;
  ISC_STATUS_LENGTH = 20;

  CLASS_MASK = $F0000000;

  CLASS_ERROR   = 0;

  CODE_MASK  = $0000FFFF; // for msg-file codes

type
  TStatusVector = array[0..ISC_STATUS_LENGTH - 1] of ISCStatus;
  PStatusVector = ^TStatusVector;

var
  isc_attach_database: function(user_status: PISCStatus; file_length: Smallint; file_name: PAnsiChar; handle: PIscDbHandle; dpb_length: Smallint; dpb: PAnsiChar): ISCStatus; stdcall;
  isc_detach_database: function(user_status: PISCStatus; handle: PIscDbHandle): ISCStatus; stdcall;
  fb_interpret: function(buffer: PAnsiChar; v: integer; status_vector: PPISCStatus): ISCStatus; stdcall;
  isc_sqlcode: function(user_status: PISCStatus): ISCLong; stdcall;
  isc_sql_interprete: procedure(SQLCODE: Smallint; buffer: PAnsiChar; buffer_length: Smallint); stdcall;
  {$IFDEF FB25_UP}
  fb_shutdown: function(timeout: Cardinal; const reason: Integer): Integer; stdcall;
  fb_sqlstate: procedure(buffer: PAnsiChar; const user_status: PISCStatus); stdcall;
  {$ENDIF}

  function InterpreteStatusVector(StatusVector: PStatusVector): RawByteString;
  var
    Len: Integer;
    Buffer: array[0..512] of AnsiChar;
  begin
    Result := '';
    while True do
    begin
      Len := fb_interpret(Buffer, SizeOf(Buffer), @StatusVector);
      if Len > 0 then
        Result := Result + Copy(Buffer, 0, Len) + #13#10
      else
        Break;
    end;
  end;

  function SQLInterprete(SqlCode: Smallint): RawByteString;
  var
    I: Integer;
  begin
    SetLength(Result, 255);
    isc_sql_interprete(SqlCode, PAnsiChar(Result), 255);
    for I := 1 to 255 do
      if Result[I] = #0 then
        Break;
    SetLength(Result, i-1);
  end;

  {$IFDEF FB25_UP}
  function GetSqlState(StatusVector: PFStatusVector): RawByteString;
  begin
    SetLength(Result, FB_SQLSTATE_SIZE);
    fb_sqlstate(PAnsiChar(Result), StatusVector);
  end;
  {$ENDIF}

  procedure CheckApiCall(const Status: ISCStatus; StatusVector: PStatusVector);

    function GetStstusClass(Status: ISCStatus): Word;
    begin
      Result := (Status and CLASS_MASK) shr 30;
    end;

    function GetStatusCode(Status: ISCStatus): Word;
    begin
      Result := (Status and CODE_MASK) shr 0;
    end;

  var
    SqlCode: ISCLong;
    ErrorCode: Word;
    Msg: string;
    SqlState: RawByteString;
  begin
    if Status <> 0 then
    begin
      if (GetStstusClass(Status) = CLASS_ERROR) then
      begin
        SqlCode := isc_sqlcode(@StatusVector);
        Msg := string(InterpreteStatusVector(StatusVector));
        if SqlCode <> 0 then
          Msg := Msg + string(SQLInterprete(SqlCode)); // may be range check error here!
        ErrorCode := GetStatusCode(Status);
        {$IFDEF FB25_UP}
        SqlState := GetSqlState(StatusVector);
        {$ENDIF}
        Msg := Msg + #13#10 + Format('Status Code = %d, SQL Code = %d, Error Code = %d', [Status, SqlCode, ErrorCode]);

        raise EFBException.Create(Msg, SqlCode, ErrorCode, SqlState);
      end;
    end;
  end;

  procedure AttachDatabase(const FileName: RawByteString; var DbHandle: IscDbHandle; Params: AnsiString);
  var
    StatusVector: TStatusVector;
  begin
    FillChar(StatusVector, SizeOf(StatusVector), 0);
    CheckApiCall(isc_attach_database(@StatusVector, Length(FileName), Pointer(FileName),
      @DBHandle, Length(Params), PAnsiChar(Params)), @StatusVector);
  end;

  procedure DetachDatabase(var DbHandle: IscDbHandle);
  var
    StatusVector: TStatusVector;
  begin
    FillChar(StatusVector, SizeOf(StatusVector), 0);
    CheckApiCall(isc_detach_database(@StatusVector, @DbHandle), @StatusVector);
    DbHandle := nil;
  end;

  function UnicodeStringToUTF8(const S: UnicodeString): RawByteString;
  begin
    SetLength(Result, WideCharToMultiByte(CP_UTF8, 0, PWideChar(S), Length(S), nil, 0, nil, nil));
    WideCharToMultiByte(CP_UTF8, 0, PWideChar(S), Length(S), PAnsiChar(Result), Length(Result), nil, nil);
  end;

var
  Handle: THandle;
  DbHandle: IscDbHandle;
  ConnectionString: string;
  Ch: Char;
begin
  Handle := LoadLibrary('fbclient.dll');
  if Handle <= HINSTANCE_ERROR then
    RaiseLastOSError;

  try
    isc_attach_database := GetProcAddress(Handle, 'isc_attach_database');
    Assert(Assigned(isc_attach_database));
    isc_detach_database := GetProcAddress(Handle, 'isc_detach_database');
    Assert(Assigned(isc_detach_database));
    fb_interpret := GetProcAddress(Handle, 'fb_interpret');
    Assert(Assigned(fb_interpret));
    isc_sqlcode := GetProcAddress(Handle, 'isc_sqlcode');
    Assert(Assigned(isc_sqlcode));
    isc_sql_interprete := GetProcAddress(Handle, 'isc_sql_interprete');
    Assert(Assigned(isc_sql_interprete));
    {$IFDEF FB25_UP}
    fb_shutdown := GetProcAddress(Handle, 'fb_shutdown');
    Assert(Assigned(fb_shutdown));
    fb_sqlstate := GetProcAddress(Handle, 'fb_sqlstate');
    Assert(Assigned(fb_sqlstate));
    {$ENDIF}
    // #$00A3 - символ британского фунта стерлингов
    ConnectionString := ExtractFilePath(ParamStr(0)) + 'Проект, ценой в '#$00A3'30,000\data.fdb';
    ForceDirectories(ExtractFileDir(ConnectionString));
    WriteLn('ConnectionString: ' + ConnectionString);

    DbHandle := nil;
    AttachDatabase(UnicodeStringToUTF8(ConnectionString), DbHandle, #1'?'#1#3'0'#7'WIN1251'#$1C#6'SYSDBA'#$1D#9'masterkeyM'#0);
    DetachDatabase(DbHandle);
  finally
    {$IFDEF FB25_UP}
    fb_shutdown(60000, fb_shutrsn_app_stopped);
    {$ENDIF}
    FreeLibrary(Handle);
  end;
end;

begin
  try
    SetConsoleToUTF8;
    Test;
    WriteLn('Ok');
  except
    on E: Exception do
    begin
      WriteLn(E.Message);
    end;
  end;
  WriteLn('Press Enter to exit');
  ReadLn;
end.


...
Рейтинг: 0 / 0
Может ли Firebird открыть базу с в каталоге кириллическим именем?
    #38338114
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NickDeeРешил посмотреть как оно на самом деле, с юникодными путями.
Увидел что с utf8_filename не работают юникодные пути.
а) http://www.firebirdsql.org/file/documentation/release_notes/html/ru/rlsnotes25.html#rnfb25-apiods-api-conncharset
б) http://tracker.firebirdsql.org/browse/CORE-3172

Ты начал с кириллицы в путях, тебе ответили. Каким боком тут юникод ???
Но ты упёрся и решил что нужно повесить всех собак на Firebird.

У тебя минимум два пути:
1. сделать то, что тебе так сильно нужно, в FB самому
2. научить инсталлятор своего софта работать по правилами, поддерживаемым FB

PS Есть и третий путь, но он не для тебя
PPS XE2 у меня нет и не будет, посему ни проверять правильность ни, тем более, выполнять твой код я не буду
...
Рейтинг: 0 / 0
25 сообщений из 67, страница 1 из 3
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Может ли Firebird открыть базу с в каталоге кириллическим именем?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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