Im пытается понять, почему у меня есть следующая проблема.bind_columns, вызванные с 1 значением, но 2 необходимы
Я пишу небольшой скрипт на Perl, беря некоторые примеры отсюда и там, добавляя некоторые из моих собственных.
Что я делаю, это хранить запросы в файле cfg, извлекать их в соответствии с переданным аргументом, выполнять и возвращать значение.
use strict;
use warnings;
...
$comm = 'tablespace_critical'; # In the real script, this is a command-line argument.
...
my $query = "$CFG::CFG{'checks'}{$comm}{'query'}";
# this part was literally copied from another script
# that didn't used the strict and warnings.
#---------------------------------------------------
my $query_handle = $dbh->prepare($query);
my $result;
$query_handle->execute();
$query_handle->bind_columns(\$result);
$result=$query_handle->fetchrow_array();
$query_handle->finish;
$dbh->disconnect();
#---------------------------------------------------
The * .cfg
%CFG = (
'tablespace_critical' => {
'query' => "select x\.tablespace_name,x\.used_pct from (select a\.tablespace_name,((total_space-free_space)/total_space)*100 used_pct from (select tablespace_name,sum(bytes)/(1024*1024) total_space from dba_data_files group by tablespace_name) a, (select tablespace_name,sum(Bytes)/(1024*1024) free_space from dba_free_space group by tablespace_name) b where a\.tablespace_name = b\.tablespace_name(+)) x, mon_control y where x\.tablespace_name = y\.name(+) and y\.monitoring_type (+) = 'TABLESPACE' and x\.used_pct >= decode (y\.err_value,-1,NULL,NULL,90,y\.err_value)"
}
)
В оригинальном сценарии, это работало без каких-либо неприятностей, но здесь, я получаю bind_columns called with 1 values but 2 are needed
. В конфиге хранится несколько запросов, и это единственное, что дает проблемы. Перл - это не мое дело, поэтому у меня все еще есть некоторые слабые концепции, над которыми я работаю, но я потратил много времени, поэтому надеюсь, что вы можете дать мне руку.
С уважением.
Это было мое мышление, но потом, как я уже говорил в сниппета , другой скрипт, который делает то же самое с одним и тем же запросом (я консолидирую все сценарии, которые делают то же самое в одном) работает! Я думаю, что больше, чем решение проблемы (что, по вашему мнению, вероятно, будет, посмотрим), то, что я хочу сделать, это понять, что там происходит. Я думаю, из-за строгой, но я действительно не могу сказать. –