powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / db2 v9.5 express-c при сохранении в BLOB теряется один байт
6 сообщений из 6, страница 1 из 1
db2 v9.5 express-c при сохранении в BLOB теряется один байт
    #36594655
Alexander Mozhaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сервер:
DB21085I Экземпляр "db2inst1" использует "64" бит и
выпуск кода DB2 "SQL09052"с идентификатором
выпуска "03030107".
Информационные элементы суть "DB2 v9.5.0.2",
"s080811", "MI00239", а также пакет FixPack "2".
Продукт установлен в "/home/ibm/db2/V9.5".

Поле:
...
test BLOB(50M) LOGGED COMPACT,
...

При сохранении в это поле в произвольном месте пропадает один байт.
Как бы это побороть?
...
Рейтинг: 0 / 0
db2 v9.5 express-c при сохранении в BLOB теряется один байт
    #36594724
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alexander Mozhaev,

Можете показать, как воспроизвести ситуацию?
...
Рейтинг: 0 / 0
db2 v9.5 express-c при сохранении в BLOB теряется один байт
    #36594856
Alexander Mozhaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mark Barinstein,

Фрагменты примера на delphi:
Сохраняем:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
with Query do
begin
  SQL.Clear;
  SQL.Add('update test.test');
  SQL.Add('set test=:test');
  SQL.Add('where id=1');
  ParamByName('test').LoadFromFile('d:\1.txt', ftBlob);
  ExecSQL;
end;

Получаем:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
with Query do
begin
  SQL.Clear;
  SQL.Add('SELECT test FROM test.test');
  SQL.Add('where id=1');
  Open;
  try
    if (not eof) then
    begin
      (FieldByName('test') as TBlobField).SaveToFile('d:\2.txt');
    end;
  finally
    Close;
  end;
end;

В конкретном файле пропадает один и тот же байт.
Но анализ нескольких файлов системы не выявил.
...
Рейтинг: 0 / 0
db2 v9.5 express-c при сохранении в BLOB теряется один байт
    #36596704
BuryCommoner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скорее всего это не из-за СУБД, а из-за dbexpress. Вообще эти компоненты не поддерживаются DB2 и много в чем глючат. Я, например, так и не смог завести их на 9.7, а xml-тип вообще не работает ни в какую. Остаются тормозные, но неприхотливые ADO :)
...
Рейтинг: 0 / 0
db2 v9.5 express-c при сохранении в BLOB теряется один байт
    #36597664
golsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какой байт теряется - первый байт файла, последний байт файла, первый байт строки, последний байт строки, произвольный?
Код(ы) потерянных байтов?
Есть подозрение что, команда
Код: plaintext
1.
 ... 
  ParamByName('test').LoadFromFile('d:\1.txt', ftBlob);
прочитывает не все символы, т.к. предназначена для чтения текстовых файлов.
Например, игнорировать символ с кодом 1A (конец текстового файла) или концы строк 0D0A заменяться на 0A.
...
Рейтинг: 0 / 0
db2 v9.5 express-c при сохранении в BLOB теряется один байт
    #36622496
Alexander Mozhaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выяснил причину - проблема оказалась в клиенте 9.1, через которого работало приложение.
Обновили клиента до 9.5 - проблема исчезла.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / db2 v9.5 express-c при сохранении в BLOB теряется один байт
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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