Насколько мне известно, единственное ограничение в DBI - это то, что значение помещается в скаляр Perl, так что это то, что можно удерживать в нем.Однако для DBD это совсем другое.Я сомневаюсь во многих, если какие-либо базы данных поддерживают 20000 параметров.Кстати, NUM_OF_PARAMS только для чтения, поэтому я понятия не имею, что вы подразумеваете под «установить число в 20 000».Я предполагаю, что вы просто имеете в виду, что вы создаете оператор SQL с 20000 параметрами, а затем читаете NUM_OF_PARAMS, и это дает вам отрицательное значение.Если последнее, я предлагаю вам сообщить (с примером), что на rt.cpan.org это звучит неправильно.
Я не могу представить, что создание оператора SQL с 20000 параметрами будет очень эффективнымв любой базе данных.Гораздо лучше попытаться уменьшить это до диапазона или что-то вроде этого, если вы можете.В ODBC 20000 параметров означают 20000 IPD и APD, и они представляют собой довольно большие структуры.Поскольку библиотека DB2 Cli очень похожа на ODBC, я бы предположил, что вы съедите много памяти.