Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
30.08.2005, 13:53
|
|||
---|---|---|---|
|
|||
Проблема FIRSTKEYCARD=32 |
|||
#18+
Пытаюсь опять поменять атрибуты таблицы и опять ошибка, которую DB2 сама себе создает. Непонятно, IBM вообще тестирует свои продукты или нет, и почему продукты Microsoft называют глючными в таком случае... Вот, что выдает эта DB2: UPDATE SYSSTAT.INDEXES SET NLEAF=1, NLEVELS=1, FIRSTKEYCARD=32, FIRST2KEYCARD=-1, FIRST3KEYCARD=-1, FIRST4KEYCARD=-1, FULLKEYCARD=32, CLUSTERFACTOR=-1.000000, CLUSTERRATIO=100, SEQUENTIAL_PAGES=0, DENSITY=0, AVERAGE_SEQUENCE_GAP=0.000000, AVERAGE_SEQUENCE_FETCH_GAP=0.000000, AVERAGE_SEQUENCE_PAGES=0.000000, AVERAGE_SEQUENCE_FETCH_PAGES=0.000000, AVERAGE_RANDOM_PAGES=1.000000, AVERAGE_RANDOM_FETCH_PAGES=0.000000, NUMRIDS=32, NUMRIDS_DELETED=0, NUM_EMPTY_LEAFS=0 WHERE COLNAMES = '+PK' AND TABNAME = 'COUNTRIES' AND TABSCHEMA = 'TEST' ... |
|||
:
Нравится:
Не нравится:
|
|||
|
30.08.2005, 13:57
|
|||
---|---|---|---|
|
|||
Проблема FIRSTKEYCARD=32 |
|||
#18+
Это после замены руками запятых на точки, еще вылезла беда ... |
|||
:
Нравится:
Не нравится:
|
|||
|
30.08.2005, 14:43
|
|||
---|---|---|---|
|
|||
Проблема FIRSTKEYCARD=32 |
|||
#18+
а изначально какой statement был? alter table чего-там? Ну чтобы повторить ошибку ... |
|||
:
Нравится:
Не нравится:
|
|||
|
30.08.2005, 15:14
|
|||
---|---|---|---|
|
|||
Проблема FIRSTKEYCARD=32 |
|||
#18+
Зачем тебе это нужно объясни. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
30.08.2005, 15:22
|
|||
---|---|---|---|
|
|||
Проблема FIRSTKEYCARD=32 |
|||
#18+
У меня из DB2 Control Center QuestCentral, DbVisualiser, DB2 CLP все работает, правда на другой таблице. Но это не важно ... |
|||
:
Нравится:
Не нравится:
|
|||
|
30.08.2005, 16:11
|
|||
---|---|---|---|
|
|||
Проблема FIRSTKEYCARD=32 |
|||
#18+
чё-то я не пойму, что делать надо, чтобы ошибку повторить. делаю db2 alter table emp_resume alter column resume_format set data type varchar(11) отрабатывает. Или чего-то другое надо делать, и я в тему не въехал? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
30.08.2005, 16:44
|
|||
---|---|---|---|
|
|||
Проблема FIRSTKEYCARD=32 |
|||
#18+
Кстати, я понял, в чем дело было, просто DB2 это изменение пропустила, хотя нельзя было. Я изменил атрибут, что он NULL не допускает, а в одной строке этой таблицы он был NULL. Поэтому, наверное, при изменении свойств атрибута, когда DB2 генерит кучу запросов автоматически (в том числе и тот, что я выше указал), эта ошибка и вылезла. Хотя вообще по правилам DB2 не должна даже была начать эту процедуру, если есть с NULL хотя бы одна запись. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
30.08.2005, 19:38
|
|||
---|---|---|---|
|
|||
Проблема FIRSTKEYCARD=32 |
|||
#18+
ExtraterrestrialКстати, я понял, в чем дело было, просто DB2 это изменение пропустила, хотя нельзя было. Я изменил атрибут, что он NULL не допускает, а в одной строке этой таблицы он был NULL. Поэтому, наверное, при изменении свойств атрибута, когда DB2 генерит кучу запросов автоматически (в том числе и тот, что я выше указал), эта ошибка и вылезла. Хотя вообще по правилам DB2 не должна даже была начать эту процедуру, если есть с NULL хотя бы одна запись. ну и что и ничего в этом поучительного проблемы ребенка за комьютером ... |
|||
:
Нравится:
Не нравится:
|
|||
|
30.08.2005, 21:40
|
|||
---|---|---|---|
|
|||
Проблема FIRSTKEYCARD=32 |
|||
#18+
Честно говоря, я не в курсе твоих проблем. А сколько тебе лет мальчик? Меня интересует (это уже не к детям обращение) на самом деле данный вопрос в более широком плане, а часто ли DB2 так себя ведет и не может ли подобное привести вообще к потере данных, даже без возникновения той ошибки (в принципе, она была некритической). Эстонский голем ну и что и ничего в этом поучительного проблемы ребенка за комьютером ... |
|||
:
Нравится:
Не нравится:
|
|||
|
31.08.2005, 08:48
|
|||
---|---|---|---|
|
|||
Проблема FIRSTKEYCARD=32 |
|||
#18+
Egor - а можно здесь привести полный текст sql statement чтобы повторить ошибку? Может я туплю, но что-то не нашел его (statement) в обсуждении. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
31.08.2005, 10:45
|
|||
---|---|---|---|
|
|||
Проблема FIRSTKEYCARD=32 |
|||
#18+
Давай полностью опиши что ты делаешь, обсуждать отрывочные SQL операторы смысла нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
31.08.2005, 23:52
|
|||
---|---|---|---|
|
|||
Проблема FIRSTKEYCARD=32 |
|||
#18+
nkulikovДавай полностью опиши что ты делаешь, обсуждать отрывочные SQL операторы смысла нет. Хорошо постараюсь. У меня есть таблица: три колонки, одна из которых в отличие от первых двух имеет свойство Nullable в значении Yes. Я его меняю на No. Таблица имеет 32 строки, только для одной из которых в этой колонке содержится NULL. Соответственно по идее DB2 не должна пропустить такое изменение, но она начинает стандартную процедуру изменения (её описывать?): первые три и пятый шаги выполняет, а в 4-ом (Restore table statistics and re-create dependent objects) происходит некритическая ошибка "FIRSTKEYCARD=32". Вот и все. В итоге я получаю измененную таблицу. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
01.09.2005, 09:05
|
|||
---|---|---|---|
|
|||
Проблема FIRSTKEYCARD=32 |
|||
#18+
ggv@mars Thu 01 Sep 7:14 [~] > db2level DB21085I Instance "db2inst1" uses "32" bits and DB2 code release "SQL08023" with level identifier "03040106". Informational tokens are "DB2 v8.1.2.96", "s050811", "MI00142", and FixPak "10". Product is installed at "/opt/IBM/db2/V8.1". ggv@mars Thu 01 Sep 7:08 [~] > db2 "create table new_test(id int not null primary key, name varchar(5))" DB20000I The SQL command completed successfully. ggv@mars Thu 01 Sep 7:10 [~] > db2 "insert into new_test values(1,'aa'),(2,'bb'),(3,'cc'),(4,'dd'),(5,'ee'),(6,'ff')" DB20000I The SQL command completed successfully. ggv@mars Thu 01 Sep 7:10 [~] > db2 insert "into new_test(id) values(7)" DB20000I The SQL command completed successfully. ggv@mars Thu 01 Sep 7:14 [~] > db2 alter table new_test "add check (name is not null)" DB21034E The command was processed as an SQL statement because it was not a valid Command Line Processor command. During SQL processing it returned: SQL0544N The check constraint "SQL050901071412400" cannot be added because the table contains a row that violates the constraint. SQLSTATE=23512 То есть я пока не могу повторить ошибку. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
01.09.2005, 14:57
|
|||
---|---|---|---|
|
|||
Проблема FIRSTKEYCARD=32 |
|||
#18+
О какой ошибке идёт речь? Я пару раз перечитал тему и ничего не понял. Тогда я сделал таблицу сам, только не 32 записи, а 10: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
сменил в CC тип поля x3 на not null. Да, IBM-еры до сих пор не пофиксили проставление запятой вместо необходимой точки (даже в FP10), но никакой "проблемы FIRSTKEYCARD=32" не заметил, равно как и "проблемы FIRSTKEYCARD=10". Может, вы хотите, чтобы было 31 и 9 соответственно? И не надейтесь - это не ошибка, а фича, описанная в документации. Хотите правильных значений - пускайте runstats. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
02.09.2005, 20:23
|
|||
---|---|---|---|
|
|||
Проблема FIRSTKEYCARD=32 |
|||
#18+
ExtraterrestrialЧестно говоря, я не в курсе твоих проблем. А сколько тебе лет мальчик? Меня интересует (это уже не к детям обращение) на самом деле данный вопрос в более широком плане, а часто ли DB2 так себя ведет и не может ли подобное привести вообще к потере данных, даже без возникновения той ошибки (в принципе, она была некритической). Эстонский големну и что и ничего в этом поучительного проблемы ребенка за комьютером у меня праблем нету но насамом деле у тебя с DB2 ничего неполучится также как ис документумом и компани медиа руки не под то заточены ... |
|||
:
Нравится:
Не нравится:
|
|||
|
02.09.2005, 21:54
|
|||
---|---|---|---|
|
|||
Проблема FIRSTKEYCARD=32 |
|||
#18+
Эстонский голем у меня праблем нету но насамом деле у тебя с DB2 ничего неполучится также как ис документумом и компани медиа руки не под то заточены А по-моему, есть, иначе бы ты сюда писал по делу, а не по зависти и злобству, но я не психоаналитик, у меня нет времени тебя анализировать, сорри. Просто советую пойти и хорошо развлечься, найти там гёрлиц повеселей и погорячей :-) В общем, отдохни душой и телом эстонский парень, расслабся :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.09.2005, 02:47
|
|||
---|---|---|---|
|
|||
Проблема FIRSTKEYCARD=32 |
|||
#18+
Речь идет о том, что по идее не должно было пройти такое изменение таблицы, если в ней есть строки, которые противоречат новым ограничениям. Или не так? Я просто не так уж и много работал с реляционками (больше с другим продуктом IBM, Lotus Notes, собственно, почему и пробую сейчас DB2, так как IBM явно переводит LN на DB2, да и с Workplace все ясно, но там выбор реляционок побольше, что приятно, так как MS SQL Server мне в свое время понравился больше, не возникало столько проблем, как с DB2, хотя тоже были, но лечились Service Pack-ами), но пока работал, у меня сложилось именно такое впечатление. Если я что-то неправильно понимаю, то поправьте, плиз. DB2 только ругнулась на FIRSTKEYCARD=32, но в целевой таблице изменение сделала на NOT NULL, написала: Load re-created table, and check data and relationship integrity. Разумеется, что строка с NULL была ликвидирована. Все изменения я делал с помощью клиента DB2. Может в нем дело? Ручками я каждый запрос сам не прописываю, для меня это ненормальная потеря времени. Если есть визуальные средства, то они должны работать, иначе, зачем они тогда? Для меня важна прежде всего возможность быстрой разработки и надежность системы. Victor MetelitsaО какой ошибке идёт речь? Я пару раз перечитал тему и ничего не понял. Тогда я сделал таблицу сам, только не 32 записи, а 10: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
сменил в CC тип поля x3 на not null. Да, IBM-еры до сих пор не пофиксили проставление запятой вместо необходимой точки (даже в FP10), но никакой "проблемы FIRSTKEYCARD=32" не заметил, равно как и "проблемы FIRSTKEYCARD=10". Может, вы хотите, чтобы было 31 и 9 соответственно? И не надейтесь - это не ошибка, а фича, описанная в документации. Хотите правильных значений - пускайте runstats. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.09.2005, 03:00
|
|||
---|---|---|---|
|
|||
Проблема FIRSTKEYCARD=32 |
|||
#18+
Вот, только что проверил это же на MS SQL Server, и эта система все сделала правильно, не допустила такого изменения таблицы. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.09.2005, 03:03
|
|||
---|---|---|---|
|
|||
Проблема FIRSTKEYCARD=32 |
|||
#18+
Короче, похоже, Майкрософт ругают совершенно необоснованно, в чем и не приходилось сомневаться, вот кого надо разделить на несколько компаний так это IBM, так как они похоже давят своим монополизмом, а качество продуктов, не самое лучшее. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.09.2005, 03:06
|
|||
---|---|---|---|
|
|||
Проблема FIRSTKEYCARD=32 |
|||
#18+
Хотя, возможно, что DB2 вылечится с неким паком, сейчас докачаю... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.09.2005, 13:27
|
|||
---|---|---|---|
|
|||
Проблема FIRSTKEYCARD=32 |
|||
#18+
Когда и как она "DB2 только ругнулась на FIRSTKEYCARD=32"? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.09.2005, 13:28
|
|||
---|---|---|---|
|
|||
Проблема FIRSTKEYCARD=32 |
|||
#18+
Банальный UPDATE, ругаться просто не на что (если исправлена проблема с запятыми). ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.09.2005, 13:42
|
|||
---|---|---|---|
|
|||
Проблема FIRSTKEYCARD=32 |
|||
#18+
ExtraterrestrialВот, только что проверил это же на MS SQL Server, и эта система все сделала правильно, не допустила такого изменения таблицы. Как я понимаю, MS SQL выполнил это "в одно действие". DB2 Control Center же (используя некую хранимую процедуру), создает скрипт и выполняет его. Править скрипт (как это сделано в Quest Central) не даёт. У меня возникла безумная мысль - уж не запатентовал ли Quest Software сам принцип деланья и правки скриптов, потому IBM и сделала это через задницу? Но нет, в других местах есть примеры правильного подхода (скажем, при настройке репликации можно сделать скрипт, исправить его и запустить; с другой стороны, не везде и при настройке репликации так). Итак, о том, что некоторые строки не удовлетворяют constraint'у, DB2 не знает. Хранимая процедура сделала скрипт и выполнила его, некоторые строки потерялись, когда LOAD загружал данные, но всё это - ваша проблема. Раньше (в предыдущих версиях DB2) не было даже такого. Если уж IBM за столько времени не исправила очевидную ошибку с decimal separator, не надейтесь, что изменение структуры таблицы с очередным фикспаком начнёт работать по-другому. Вот в следующей версии DB2, по слухам, будет более мощный ALTER TABLE - тогда, наверное, он будет вести себя так, как вы ожидали. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.09.2005, 13:50
|
|||
---|---|---|---|
|
|||
Проблема FIRSTKEYCARD=32 |
|||
#18+
ExtraterrestrialКороче, похоже, Майкрософт ругают совершенно необоснованно, в чем и не приходилось сомневаться, вот кого надо разделить на несколько компаний так это IBM, так как они похоже давят своим монополизмом, а качество продуктов, не самое лучшее. IBM совсем не монополия на рынке БД. Oracle куда больше похожа на монополию, и, кстати, там есть куча своих проблем (а с MS SQL я дела почти не имел и не знаю состояния дел на текущий момент). Проблемы с управляющими утилитами типа DB2 Control Center лично для меня вполне привычны ;-). Не за CC мы ценим DB2 ("мы" - т.е. те, которые ценят). ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=43&tablet=1&tid=1605789]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
38ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
62ms |
get tp. blocked users: |
2ms |
others: | 266ms |
total: | 413ms |
0 / 0 |