powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / неудовольствия
57 сообщений из 57, показаны все 3 страниц
неудовольствия
    #32581563
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сегодня у меня настроение жаловаться. Хочу пожаловаться на то, на что обычно никто не жалуется. ;-)

1. До каких, интересно, пор, DB2 CLP под виндами будет завершать строки вместо стандартной комбинации CR LF какой-то чудовищной CR CR LF???

2. DB2 CLP очень сильно не дотягивает до ораклячьего SQL*PLUS. Ему, наверное, никогда до того не дотянуться, но хотя бы он мог бы уметь показывать, когда была выполнена команда и сколько ушло на это времени (db2batch не годится - он не понимает команд CLP типа RUNSTATS), а также форматировать результат как страницу HTML. Неплохо было бы объединить CLP, db2batch и dynexpl в одну утилиту.

3. NLS-проблемы (типа - db2batch пишет свои сообщения в 866-й кодировке, а результат селекта в 1251-й).

4. Неизвестно почему мне запрещено ibm-ерами запускать более одного экземпляра Control Center и Command Center. В результате я не могу, например, запустить два экземпляра Command Center, в одном приконнектиться к одной базе, в другом - к другой, и визуально сравнить одно и то же SQL-выражение в Visual Explain для разных баз.

5. Окошечки со свойствами узлов Visual Explain (и некоторые другие в других местах) зверски лишены кнопок максимизации. В этих окошечках море всякой информации, так что максимизация очень бы пригодилась. Я вообще считаю, что программисты, делающие окна фиксированных размеров, окна без кнопок максимизации, а также окна, не отображающиеся в таскбаре - это вредители, которых надо наказывать.
...
Рейтинг: 0 / 0
неудовольствия
    #32583595
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
6. runstats не знает о понятии "текущей схемы".

7. CLP-команды не являются обычными SQL-выражениями и могут быть вызваны только из CLP. Так, я не могу вызвать из программы тот же RUNSTATS, как мог вызвать SQL-выражение UPDATE TABLE (и DBMS_STATS.GATHER_TABLE_STATS в Oracle).

8. К 5-й версии DB2 прикладывался REXX, но начиная с 6-й версии его из комплекта выкинули, его поддержка ограничена. А ведь если CLP имеет меньше возможностей, чем SQLPLUS, то связка CLP+REXX во многом исправляет положение и в чем-то даже гораздо лучше. Мне не хватает также SP и особенно - UserExit на REXX.
...
Рейтинг: 0 / 0
неудовольствия
    #32583689
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
9. Из-за отсутствия аналогов ораклячьих "переменных уровня пакета" затруднена миграция с Oracle.

10. MTK должен транслировать PL/SQL не на SP SQL (или как он там теперь называется?), а на Java (или сперва пытаться перевести на SP SQL, а что не получилось - уже на Java). SP SQL слабже PL/SQL по возможностям, но Java мощнее.
...
Рейтинг: 0 / 0
неудовольствия
    #32583832
ggv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ggv
Гость
"Так, я не могу вызвать из программы тот же RUNSTATS"
Administrative API, db2Runstats:

C API syntax

/* File: db2ApiDf.h */
/* API: db2Runstats */
/* ... */
SQL_API_RC SQL_API_FN
db2Runstats (
db2Uint32 versionNumber,
db2RunstatsData *data,
struct sqlca *sqlca);
...
Рейтинг: 0 / 0
неудовольствия
    #32583839
ggv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ggv
Гость
Have a look at administrative API and you will be wondered. I think ALL CLP commands are there. I hope :)
...
Рейтинг: 0 / 0
неудовольствия
    #32584014
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gdv, читайте фразу целиком. Она была "Так, я не могу вызвать из программы тот же RUNSTATS, как мог вызвать SQL-выражение UPDATE TABLE (и DBMS_STATS.GATHER_TABLE_STATS в Oracle).". Я отлично знаю о существовании административного API, но мне им неудобно пользоваться.

Не случайно ведь ibm-еры прикрутили SQL-интерфейс, например, к снапшот-мониторингу, несмотря на то, что некий C API и там есть? Но увы, остановились на полдороге.
...
Рейтинг: 0 / 0
неудовольствия
    #32584160
ggv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ggv
Гость
I know nothing about oracle. And I did not get the second part of your statement, bout Oracle. Sorry.
...
Рейтинг: 0 / 0
неудовольствия
    #32584213
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На C использование административного API, может, и не так уж неудобно (по крайней мере, на фоне всего остального). Однако, кроме C, существует куча других языков и систем - Smalltalk, Delphi, Ruby, Python, PHP, Lisp, и т.д., и т.п. Прежде, чем использовать C-шные функции, нужно выполнить много нудной и грязной работы. Наверное, не случайно у Java, насколько я знаю, поддержка этого API будет только в Stinger'е? А как быть остальным? Да, я могу сделать это для себя, но предпочел бы, чтобы в DB2, как в Oracle, абсолютно это было бы завернуто в системные VIEW и хранимые процедуры.
...
Рейтинг: 0 / 0
неудовольствия
    #32584218
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
11. Отсутствие CREATE AND REPLACE. Ну, насколько я знаю, это IBM-еры обещали добавить в 9-ю версию.
...
Рейтинг: 0 / 0
неудовольствия
    #32584222
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извиняюсь - я имел в виду CREATE OR REPLACE. Чтобы можно было подменить, к примеру, функцию или VIEW, без пересоздания использующих их и переназначения грантов на них.
...
Рейтинг: 0 / 0
неудовольствия
    #32584232
Фотография NewYear
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в самом деле, отчего db2 это не oracle?
...
Рейтинг: 0 / 0
неудовольствия
    #32584295
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос абсурдный, бессмысленный и не имеющий ни малейшего отношения к делу.
...
Рейтинг: 0 / 0
неудовольствия
    #32584559
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
12. Хелп-система с каждым годом не нравится мне все больше и больше. Дошел до того, что нередко стал обращаться к ненавистным PDF.

13. Ужасного размера фикспаки. Половина объема - поддержка всяких и всяческих языков. Спрашивается, зачем мне корейский и традиционный китайский? Во второй половине тоже непонятно что. Более чем 200-меговая инсталляшка IIRW утверждает, что при полной инсталляции займет 10M. Такие инсталляшки годятся для пересылки на CD и DVD, но не для интернет-доступа.
...
Рейтинг: 0 / 0
неудовольствия
    #32584662
Alexander Mozhaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Victor Metelitsa12. Хелп-система с каждым годом не нравится мне все больше и больше. Дошел до того, что нередко стал обращаться к ненавистным PDF.

13. Ужасного размера фикспаки. Половина объема - поддержка всяких и всяческих языков. Спрашивается, зачем мне корейский и традиционный китайский? Во второй половине тоже непонятно что. Более чем 200-меговая инсталляшка IIRW утверждает, что при полной инсталляции займет 10M. Такие инсталляшки годятся для пересылки на CD и DVD, но не для интернет-доступа.

Мне чтение PDF'ов нравится гораздо больше, темболее что не только документацию по DB2 приходится читать.

с 13. полностью согласен, качать неудобно.

13.1 качество фикспаков неочень - использую DB2 V7 FP7, регулярно проверяю на тестовом сервере работоспособность очередного FP на тестовой нагрузке. А FP7 продолжает работать, работать и работать.

В сторону 8-ки начну смотреть только после тестирования стингера
...
Рейтинг: 0 / 0
неудовольствия
    #32584684
ggv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ggv
Гость
I would join to claims number 7,8,13, even I did not use REXX :) I've read about it a bit :)
...
Рейтинг: 0 / 0
неудовольствия
    #32585082
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Документ PDF предназначен для печати - "как выглядит, так и будет напечатано" (есть у нас герой, который действительно распечатал эти тысячи страниц?). Если уменьшить ширину страницы, соответственно уменьшаются буквы. Но если увеличить как мне надо, то слева остается мало места для древовидного оглавления (layout?), названия главок же обычно широкие, и во время просмотра приходится постоянно двигать разделительную полоску влево-вправо. Сравните с хелпами формата CHM - они похоже выглядят, но с экрана читаются гораздо лучше (там, конечно, свои проблемы). А в A.R. 6 еще добавилась ужасная панель поиска. Открыл ее - и снова два выбора: ресайзить документ или читать его с лупой. Возможно, я смирился бы со всем этим на 21-дюймовом мониторе, но у меня всего 17.

A.R. не позволяет также рассматривать один и тот же документ в разных окнах, тогда как HTML-ные хелпы я обычно читаю именно так - у меня до бывает до десятка открытых окон. Но тут я нашел некий workaround - открывать PDF из IE из ссылок в HTML-файле.

В A.R. нет закладок - "настоящих" закладок, а не того, что там названо закладками. Если я сегодня закончил чтение на 566 странице, назавтра я хотел бы, чтобы при открытии того же документа A.R. сразу перешел бы на эту страницу (и/или держал бы список подобных закладок).
...
Рейтинг: 0 / 0
неудовольствия
    #32585088
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно какие-нибудь подробности про DB2 v7 fp7 vs DB2 v7 после fp7?
...
Рейтинг: 0 / 0
неудовольствия
    #32585112
Alexander Mozhaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Victor MetelitsaДокумент PDF предназначен для печати - "как выглядит, так и будет напечатано" (есть у нас герой, который действительно распечатал эти тысячи страниц?). Если уменьшить ширину страницы, соответственно уменьшаются буквы. Но если увеличить как мне надо, то слева остается мало места для древовидного оглавления (layout?), названия главок же обычно широкие, и во время просмотра приходится постоянно двигать разделительную полоску влево-вправо. Сравните с хелпами формата CHM - они похоже выглядят, но с экрана читаются гораздо лучше (там, конечно, свои проблемы). А в A.R. 6 еще добавилась ужасная панель поиска. Открыл ее - и снова два выбора: ресайзить документ или читать его с лупой. Возможно, я смирился бы со всем этим на 21-дюймовом мониторе, но у меня всего 17.

A.R. не позволяет также рассматривать один и тот же документ в разных окнах, тогда как HTML-ные хелпы я обычно читаю именно так - у меня до бывает до десятка открытых окон. Но тут я нашел некий workaround - открывать PDF из IE из ссылок в HTML-файле.

В A.R. нет закладок - "настоящих" закладок, а не того, что там названо закладками. Если я сегодня закончил чтение на 566 странице, назавтра я хотел бы, чтобы при открытии того же документа A.R. сразу перешел бы на эту страницу (и/или держал бы список подобных закладок).

Я сам распечатал не одну тысяцу страниц доки по DB2, пока печатается, часть книги уже прочитаешь:-)

Есть повод перейти на 21 дюйм. У меня тоже семнашка, LCD - читается нормально.

Согласен, есть неудобства.
Просто есть куча книг в PDF, которых не меньше чем док по DB2 - унификация.
...
Рейтинг: 0 / 0
неудовольствия
    #32585122
Alexander Mozhaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Victor MetelitsaМожно какие-нибудь подробности про DB2 v7 fp7 vs DB2 v7 после fp7?

У меня все FP выше 7-ки трапаются на тестах.
Тесты обычные - внесение, загруска списка заказов и тп.
...
Рейтинг: 0 / 0
неудовольствия
    #32585779
> Я вообще считаю, что программисты, делающие окна фиксированных размеров, окна без кнопок максимизации, а также окна, не отображающиеся в таскбаре - это вредители, которых надо наказывать.

это все от того, что в твоем любимом VAST-е нельзя сделать окно фиксированного размера.
...
Рейтинг: 0 / 0
неудовольствия
    #32585851
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АВБ???

К VAST'у у меня огромное количество претензий - беда лишь, что остальное еще хуже. Только какое он имеет отношение к теме (DB2 и связанное)?

Фиксированного размера окошки всплыли из упоминания Visual Explain. Там (показывающие свойства узла плана окна), они, правда, - не совсем фиксированные ("просто" нет кнопки максимизации; а ведь по умолчанию она у окон была - стало быть, налицо факт умышленного вредительства), но есть фиксированные в других местах.

Разве что с fixed sized Logon Window я могу смириться. Когда, к примеру, мне приходится выбирать имена из списка шириной 10 символов имена длиной в 50 символов (бывает еще круче - эти имена урезаются до длины поля, а первые символы у них совпадают - такое я видел в Notes), мне хочется кого-то убить - и я знаю, кого (программёра, который это сотворил). Почему нельзя было сделать обычное растягивающееся/максимизирующееся окно, чтобы пользователь мог сразу одним вглядом охватить всю информацию, вместо того, чтобы елозить мышкой?
...
Рейтинг: 0 / 0
неудовольствия
    #32585860
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Разве что использование VisualWorks может быть объяснением (не оправданием). ;-)

Но Visual Explain сделан не на нем.
...
Рейтинг: 0 / 0
неудовольствия
    #32586559
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, по поводу падений.

1. Некоторое время DB2 v8 у меня падала "от нехватки памяти" (уже не помню точную формулировку). Я этому не верил, потому что дело происходило на сервере с двумя гигами ОЗУ. Потом-таки поверил: под виндами по умолчанию пользовательской программе выдается всего 2G адресного пространства, а я настроил "на грани", так что иногда DB2 "перескакивала через край".

"Advanced" Server с ключом /3G полностью решили эту ситуацию - теперь можно не бояться, что из-за ошибки в настройке она упадет.

2. Я читал, что в DB2 v8 user agents используют значительно больше памяти чем в v7.

Отсюда вопрос - может, у вас [Alexander Mozhaev] что-то похожее: проблемы с v7 после fp7 из-за проблемы 2G + [возможное] увеличение расходования памяти под юзерагентов?
...
Рейтинг: 0 / 0
неудовольствия
    #32588869
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А кто-нибудь может сказать, как отучить Control Center и прочее включать русскую раскладку клавиатуры в каждом новооткрытом окне? Если нет, запишу под 14-м пунктом ;-)
...
Рейтинг: 0 / 0
неудовольствия
    #32588928
Alexander Mozhaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Victor MetelitsaА кто-нибудь может сказать, как отучить Control Center и прочее включать русскую раскладку клавиатуры в каждом новооткрытом окне? Если нет, запишу под 14-м пунктом ;-)

Это приколы JAVA
...
Рейтинг: 0 / 0
неудовольствия
    #32588989
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И? Как настроить?

[Вовсе не все жабные продукты так себя ведут]
...
Рейтинг: 0 / 0
неудовольствия
    #32589208
Nikolay Kulikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть шанс что все admin/developer tools для DB2 будут сделаны как plug-in для eclipse. Только это будет как я понимаю в фиксах ( > 7)после выхода Stinger

P.S. Вышел 3 eclipse. Прикольная байда.
...
Рейтинг: 0 / 0
неудовольствия
    #32590031
Alexander Mozhaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Victor MetelitsaКстати, по поводу падений.

Отсюда вопрос - может, у вас [Alexander Mozhaev] что-то похожее: проблемы с v7 после fp7 из-за проблемы 2G + [возможное] увеличение расходования памяти под юзерагентов?

На сервере памяти около гига (активных данных примерно столько), настроено так, что всегда свободно ~ 100M? трапается по разному - то с одним подключением, то с десятком...

Есть подозрение что что-то накрутил, но это буду смотреть на стингере, сейчас и так работой завален.
...
Рейтинг: 0 / 0
неудовольствия
    #32590045
Alexander Mozhaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nikolay KulikovЕсть шанс что все admin/developer tools для DB2 будут сделаны как plug-in для eclipse. Только это будет как я понимаю в фиксах ( > 7)после выхода Stinger

P.S. Вышел 3 eclipse. Прикольная байда.

Выкачал в пятницу, в конце рабочего дня - посмотрел на встроенный рефакторинг - душа радуется, что с кодом можно вытворять:-)
Радует увеличение скорости работы от версии к версии.
Будем ждать WASD на нем:-)
Плюс нормальный версионный конроль подключить - СС...


to: Nikolay Kulikov я в отпуске был, да заработался немного, на этой неделе получится встретиться по поводу CM?
...
Рейтинг: 0 / 0
неудовольствия
    #32590079
Nikolay Kulikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Звони.
...
Рейтинг: 0 / 0
неудовольствия
    #32598352
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Итак,
14. Автовключение русского в жабных утилитах.
...
Рейтинг: 0 / 0
неудовольствия
    #32598353
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
15. Слишком короткие имена индексов, триггеров, constraint'ов.

Пример. Если я создаю таблицу, то пользуюсь следующими соглашениями

CREATE TABLE TabName(
...
) !

далее в скрипте у меня идет

CREATE UNIQUE INDEX TabName_PK ON TabName(...) ALLOW REVERSE SCANS !
ALTER TABLE TabName ADD CONSTRAINT TabName_PK PRIMARY KEY(...) !

CREATE TRIGGER TabName_BI BEFORE INSERT NO CASCADE ....

а еще индексы, именованные примерно так

CREATE UNIQUE INDEX TabName_X_Y_Z ON TabName(X,Y,Z) ALLOW REVERSE SCANS !

Ограничение в 18 символов _очень_ мешает.
...
Рейтинг: 0 / 0
неудовольствия
    #32598354
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Возвращаясь к напечатанному". Пример для пункта 6.

SET SCHEMA xxx !
SET PATH ..., xxx !

CREATE TABLE ttt ...
CREATE TABLE ppp ...

....
...
...

RUNSTATS ON TABLE ttt ...
RUNSTATS ON TABLE ppp ...

Это не работает, что очень неудобно. Приходится делать всякие REXX'овые обвязки.
...
Рейтинг: 0 / 0
неудовольствия
    #32598634
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
16. Недоработанность утилит LOAD и IMPORT. Пример: мне надо загрузить данные для нашей организации, полученные с городской телефонной станции. Фактически это fixed record format, однако:
1. Данные в кодировке 866 - LOAD и IMPORT не могут перекодировать.
2. Даты в формате DD.MM.YY - но LOAD и IMPORT требует все четыре цифры года.
3. Разделитель дробной части - запятая, но, хотя IMPORT (но не LOAD) имеет соответствующее ключевое слово, оно применимо только к данным формата DEL, но не ASC.

Хорошо бы добавить и поддержку чтения DBF - фактически это тот же ASC-формат, но... начиная с некоего смещения (не говоря о кодировке).
...
Рейтинг: 0 / 0
неудовольствия
    #32598699
ggv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ggv
Гость
about ""Возвращаясь к напечатанному". Пример для пункта 6."
I do put all such things in a shell script (probably similar to what you mean "всякие REXX'овые обвязки").

Quit simple.

#!/bin/sh

. /home/db2inst1/sqllib/db2profile

db2 connect to database
SET SCHEMA xxx !
SET PATH ..., xxx !

CREATE TABLE ttt ...
CREATE TABLE ppp ...

....
...
...


db2 RUNSTATS ON TABLE ttt ...
db2 RUNSTATS ON TABLE ppp ...

This is quit simple, but often it is more complicated, whith analyzing output of previous command to build a next (like parsing result of SELECT).

Guess it is similar to REXX...
But for anyone with unix background such way is preferable, IMHO.
...
Рейтинг: 0 / 0
неудовольствия
    #32598800
ggv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ggv
Гость
oops, before 'SET SCHEMA', 'SET PATH', 'CREATE TABLE'
put 'db2 ' of course.
sorry :)
...
Рейтинг: 0 / 0
неудовольствия
    #32598812
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то до меня не доходит, что именно вы хотели продемонстрировать и как это должно работать.

Если на то пошло, можно работать через переменные окружения. Вариант для Windows:

xxx.bat
------------------------
set schema=xxx
db2 connect to dbname
db2 path %schema%
db2 schema %schema%
db2 -f main-script.db2 -vt
db2 runstats on table %schema%.tablename ...
.....
------------------------

а еще у меня есть скрипт на REXX'е, которым могу собрать статистику с базы или одной или нескольких схем.

И все-таки - почему runstats не понимает текущую схему? ;-)

load же понимает?
...
Рейтинг: 0 / 0
неудовольствия
    #32598813
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извиняюсь,

xxx.bat
------------------------
set schema=xxx
db2 connect to dbname
db2 set path %schema%
db2 set schema %schema%
db2 -f main-script.db2 -vt
db2 runstats on table %schema%.tablename ...
.....
------------------------
...
Рейтинг: 0 / 0
неудовольствия
    #32598833
ggv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ggv
Гость
"И все-таки - почему runstats не понимает текущую схему?" -
I may put my sign under the question :)
I don't think it is a big deal for IBM to change it.
...
Рейтинг: 0 / 0
неудовольствия
    #32600490
pima
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А у меня уже давно настроение не просто пожаловаться, а ...
Дайте мне придушить кого-нибудь из IBM!!!
/topic/105942#801239
...
Рейтинг: 0 / 0
неудовольствия
    #32600548
Фотография riman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
здесь где то Николай бродит...
...
Рейтинг: 0 / 0
неудовольствия
    #32600602
pima
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
здесь чудеса, здесь леший бродит... (с)
...
Рейтинг: 0 / 0
неудовольствия
    #32600673
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
17. Decimal separator. Как я понял, почему-то DB2 передает клиентскому приложению десятичные данные в текстовом виде, причем разделитель между целой и дробной частями берет из текущего locale. С другой стороны, VAST почему-то уверен, что это точка. Теоретически, в настройках клиентской части DB2 есть некий патч, но почему-то он у меня не сработал. Пришлось патчить VAST.

С Oracle у VAST'а та же проблема. Однако у Oracle есть ALTER SESSION, где можно для текущего коннекта многое настроить, в том числе и это.
...
Рейтинг: 0 / 0
неудовольствия
    #32601152
Фотография NewYear
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
17
это не баг, а хорошо известное поведение. связано с тем, что в разных locale десятисчный seperator может различаться. то же относится к дате и времени.
...
Рейтинг: 0 / 0
неудовольствия
    #32601185
Фотография NewYear
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BIND {имя-файла | @список-файлов} [ACTION {ADD | REPLACE [RETAIN {YES | NO}]
[REPLVER ID-версии]}] [BLOCKING {UNAMBIG | ALL | NO}]
[CLIPKG число-пакетов] [COLLECTION id-собрания]
[DATETIME {DEF | USA | EUR | ISO | JIS | LOC}]
[DEGREE {1 | степень-параллелизма | ANY}]
[DYNAMICRULES {RUN | BIND | INVOKERUN | INVOKEBIND | DEFINERUN | DEFINEBIND}]
[EXPLAIN {NO | YES | ALL}] [EXPLSNAP {NO | YES | ALL}] [FEDERATED {NO | YES}]
[FUNCPATH имя-схемы [ {,имя-схемы} ... ]] [GENERIC строка]
[GRANT {ID-авторизац | PUBLIC}] [GRANT_GROUP имя-группы] [GRANT_USER имя-польз]
[INSERT {BUF | DEF}] [ISOLATION {CS | RR | UR | RS | NC}]
[MESSAGES файл-сообщений [OWNER id-авторизации]
[QUALIFIER имя-квалификатора] [QUERYOPT уровень-оптимизации]
[SQLERROR {NOPACKAGE | CHECK | CONTINUE}] [SQLWARN {NO | YES}]
[TRANSFORM GROUP группа-преобр] [VALIDATE {RUN | BIND}]
***********************************************************************************
* Следующие опции допустимы только при соединении с хостом или сервером iSeries *
***********************************************************************************
[CCSIDG ccsid-dbcs] [CCSIDM ccsid-смеш] [CCSIDS ccsid-sbcs]
[CHARSUB {DEFAULT | BIT | SBCS | MIXED}] [CNULREQD {YES | NO}]
[DBPROTOCOL {DRDA | PRIVATE}] [DEC {31 | 15}] [DECDEL {PERIOD | COMMA}]
[ENCODING {ASCII | EBCDIC | UNICODE | ccsid}]
[IMMEDWRITE {NO | YES | PH1}] [KEEPDYNAMIC {NO | YES}]
[OPTHINT id-совета] [OS400NAMING {SQL | SYSTEM}] [PATH имя-схемы]
[RELEASE {COMMIT | DEALLOCATE}] [{NOREOPT | REOPT} VARS]
[SORTSEQ {HEX | JOBRUN}] [STRDEL {APOSTROPHE | QUOTE}] [TEXT метка]

db2 =>
...
Рейтинг: 0 / 0
неудовольствия
    #32601221
Фотография NewYear
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
oops!
>Как я понял, почему-то DB2 передает клиентскому приложению десятичные данные в текстовом виде

вообще-то нет. вид у них вот такой:

case SQL_TYP_DECIMAL:
case SQL_TYP_NDECIMAL:

precision = ((char *)& (psqlda->sqlvar .sqllen))[0];
scale = ((char *)& (psqlda->sqlvar.sqllen))[1];

if ((precision %2) == 0)
precision += 1;

idx = (short)(precision + 2) / 2;
point = precision - scale;

bottom = * (psqlda->sqlvar.sqldata + idx -1)
& 0x000F; /* sign */

if ((bottom == 0x000D) || (bottom == 0x000B))
{
*p++ = '-'; *p= '\0';
}

for (ind = 0; ind < idx; ++ind)
{
short top = * (psqlda->sqlvar.sqldata + ind)
& 0x00F0;
top = (top >> 4);
bottom = * (psqlda->sqlvar.sqldata + ind)
& 0x000F;
if (point-- == 0)
{
*p++ = '.'; *p = '\0';
}
sprintf(p, "%d", top);
p+=strlen(p);
if (ind < idx - 1)
{
if (point-- == 0)
{
*p++ = '.'; *p = '\0';
}
sprintf(p, "%d", bottom);
p+=strlen(p);
}
}
*p++ = ',';
*p = '\0';

break;
...
Рейтинг: 0 / 0
неудовольствия
    #32601255
Фотография NewYear
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
locale влияет, видимо, на cast - преобразованиe decimal->char
...
Рейтинг: 0 / 0
неудовольствия
    #32602783
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хочу напомнить, что тема называется "Неудовольствия", а не "Баги". Проблема известна мне очень давно. Еще Delphi с DB2 v5, насколько я помню, вдруг "потеряли" дробную часть числа в какой-то версии BDE. Сегодня я освежил память и прошелся с отладчиком - VAST биндит DECIMAL как SQL_C_CHAR. Зачем, не знаю (но в этом он не одинок).

Зато я слегка оклеветал LOAD - там есть ключевое слово CODEPAGE (и как я его упустил???), но две другие проблемы в силе.
...
Рейтинг: 0 / 0
неудовольствия
    #32609021
pima
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
17. После создания объекта (таблицы, колонки и т. д.) нельзя его переименовать. Более того, нельзя даже дропнуть колонку из таблицы! (может, конечно. я плохо искала в доке, не бейте ногами... но в описании alter table после drop может быть че угодно, кроме column :(( )
Фича становится полностью понятной, если посмотреть в системные таблицы - одни естественные внешние ключи, основанные на именах, ни одного id-шника. В результате, чтоб удалить/переименовать колонку, создаю другую табличку, переливаю туда данные, дропаю старую, создаю новую с учетом корректив и переливаю данные обратно... Полный бред!
...
Рейтинг: 0 / 0
неудовольствия
    #32609023
pima
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
(прошу пардону, это номер 18)
...
Рейтинг: 0 / 0
неудовольствия
    #32609064
ggv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ggv
Гость
pima: - you can select data from the old table into the new (with new column name or without one column).
...
Рейтинг: 0 / 0
неудовольствия
    #32609065
q
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
q
Гость
export/import ...
...
Рейтинг: 0 / 0
неудовольствия
    #32609094
ggv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ggv
Гость
export/load
...
Рейтинг: 0 / 0
неудовольствия
    #32609097
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Quest Central for DB2 мог автоматизировать этот процесс... правда, чем дальше, тем глючнее он был и страшнее мне им было пользоваться, так что я о нем не особенно жалею.
...
Рейтинг: 0 / 0
неудовольствия
    #32609199
pima
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да это все понятно, но когда привыкнешь, что у мелкомягких это делается легким движением мизинца без экспортов/импортов, то на душе остается весьма горький осадок. А Quest у меня триальный, и в ответ на попытку дропнуть колонку он говорит, что тут нужен "extended alter" и просит лицензию.
...
Рейтинг: 0 / 0
неудовольствия
    #32609251
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, "побороть" триальность в нынешнем мире не проблема (мой адрес MVV-(AT)-ZSAVS-DOT-RU ("-" убрать, DOT заменить на точку, (AT) на @).

Но вот у меня отсутствие переименования колонок особого неудовольствия не вызывает. Дело в том, что формальное наличие такого переименования, мягко говоря, не избавляет от проблем, ибо переименование может затронуть массу разнообразных объектов (триггеры, функции, view, sp, пользовательские приложения...). Так что предпочтительнее как следует продумывать имена заранее. Для этого желательно придумать соглашения об именах и _всегда_ им следовать.
...
Рейтинг: 0 / 0
неудовольствия
    #32609408
ggv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ggv
Гость
I'd agree with Victor. 'Rename' could become 'dangerous'.
I can't say I never changed structure. But when I did it I never thought about such kind of complicity, like export/lodal or select into.
This is a minimal trouble, if to compare with other changes _after_ rename.
...
Рейтинг: 0 / 0
57 сообщений из 57, показаны все 3 страниц
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / неудовольствия
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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