Как справиться с переполнением данных DB2 AS400 в упакованном десятичном поле? - PullRequest
0 голосов
/ 27 августа 2018

Я работаю с AS400 IBM i-series машиной.Проблема в том, что у меня есть поле packed-decimal в одном из моих файлов.Проект установил длину поля в 9, но теперь мои данные растут, и когда данные больше, чем 999999999, происходит переполнение.поэтому для значений, превышающих 999999999, он превращается в 0 и записывает оставшееся значение в файл.Так как моя машина находится под высокой нагрузкой и имеется много данных, я не могу изменить file design.Итак, как лучше всего решить эту проблему?

Это действительно большая проблема, и я был бы признателен за любую помощь.Спасибо

1 Ответ

0 голосов
/ 27 августа 2018

На самом деле у вас есть только два варианта: изменить файл или изменить код.

Если у вас действительно есть один миллиард записей, и это ключевое поле, то вам нужно пройти черезпроцесс изменения файла.Если все эти записи не обязательно должны быть «живыми», то вы можете разгрузить некоторые из них в «историческую» таблицу с одним дополнительным ключом, чтобы вы могли удалить записи и повторно использовать некоторые из этих чисел.

Если вам необходимо сохранить все эти данные как «живые», то вам следует планировать расширить поле.Прежде всего сделайте измененную версию файла в другой библиотеке.Затем управляйте списком библиотек, чтобы проверить его с помощью существующего кода.Пересмотрите и скомпилируйте по мере необходимости.В последний график известно ограниченное время простоя, поместите последние данные в новый файл и поместите новый файл и программы в производственную библиотеку.

Если вы не в таком масштабе и хотите попытаться изменить свой кода не этот файл, спросите себя, почему данные занимают девять цифр, чтобы описать это.Вы пропускаете большие блоки чисел?Вы пытаетесь заставить определенные цифры указывать определенные значения?Эти методы могут поглощать цифры гораздо быстрее, чем последовательно.Вы можете изменить код, чтобы изменить способ присвоения этих номеров, но если несколько частей приложения ожидают, что они будут воспроизводиться по определенному набору правил, изменение всех этих мест может потребовать гораздо больше усилий, чем просто изменение файла.Это может быть лучше или хуже в зависимости от того, как структурировано приложение.Это суждение, которое вы должны будете сделать.

...