Click here to get back home

Error in DBD::Chart (called from DBIx::Chart)

 HomeNewsGroups | Search | About
 comp.lang.perl.modules    Post an article   get this group's latest topics as an RSS feed add this group's latest topics to your My MSN content add this group's latest topics to your My Yahoo content
Subject Author Date
Error in DBD::Chart (called from DBIx::Chart) walt 05-19-2006
Posted by walt on May 19, 2006, 2:35 pm
Please log in for more thread options


I'm receiving this error message when I run a PERL script:
Use of uninitialized value in string ne at
C:/Perl/site/lib/DBD/Chart.pm line 2491.

Why does this fail? or give me this error? What does it want to be
initialized?
What is DBD:Chart want me to do in DBIx::Chart?


This is the script used to create a composite of 2 line graphs on to
one "image":

#!C:\Perl\bin\perl.exe -w

use DBIx::Chart;
use DBI qw(:sql_types);

$DSN = 'Testing';
$DATA_SOURCE = "DBI:ODBC:$DSN";
$USER_NAME = 'sa';
$PASSWORD = 'xxxxx';
$DB = 'test';
$dbh = DBIx::Chart->connect($DATA_SOURCE, $USER_NAME, $PASSWORD,
{RaiseError => 1, AutoCommit => 0})
or die "Cannot connect to $DATA_SOURCE: $DBI::errstr \n";
DBI->trace(2, 'logfile.log');

$sql = qq( select * from

(select (rtrim(PCBJOBNUMBER)+', '+ rtrim(PCBPNUM)+', '+
rtrim(LLJC_Line_Number_LONG)+', '+ rtrim(PCBTASKNUM)) as job_task,
cast(PCBESTIMATEQTY as integer) as esthrs
from $DB..pcb00125
where pcbjobnumber = 'm0603412' and pcbpnum = '001'
returning linegraph(*)
where color = 'blue' and shape = 'fillcircle') as line1,

(select (rtrim(PCBJOBNUMBER)+', '+ rtrim(PCBPNUM)+', '+
rtrim(LLJC_Line_Number_LONG)+', '+ rtrim(PCBTASKNUM)) as job_task,
cast(PCBACTUALQTY as integer) as acthrs
from $DB..pcb00125
where pcbjobnumber = 'm0603412' and pcbpnum = '001'
returning linegraph(*)
where color = 'green' and shape = 'opensquare') as line2

returning image
where width = 600 and height = 500
and x_axis = 'Tasks'
and y_axis = 'Hours'
and keeporigin = 1
and showvalues = 1
and showpoints = 1
and showgrid = 0
and format = 'png'
and maptype = 'HTML'
and mapname = 'plot'
);
$rsth = $dbh->prepare($sql);
$rsth->execute;
$row = $rsth->fetchrow_arrayref;

# output picture
open(OUTF, '>graph.png');
binmode OUTF;
print OUTF $$row[0];
close OUTF;

$rsth->finish;
$dbh->disconnect;


As a side note I ran this script and it produced an output just fine:

#!C:\Perl\bin\perl.exe -w

use DBIx::Chart;
use DBI qw(:sql_types);

$DSN = 'Testing';
$DATA_SOURCE = "DBI:ODBC:$DSN";
$USER_NAME = 'sa';
$PASSWORD = 'xxxxx';
$DB = 'test';
$dbh = DBIx::Chart->connect($DATA_SOURCE, $USER_NAME, $PASSWORD,
{RaiseError => 1, AutoCommit => 0})
or die "Cannot connect to $DATA_SOURCE: $DBI::errstr \n";

$sql = qq( select USRTAB09, count(*)as shop_count
from $DB..PCB00175
where PCBJOBNUMBER not like 'S%' and PCBJS != 'Closed'
group by USRTAB09
order by shop_count desc
returning linegraph(*)
where width = 1200 and height = 800
and x_axis='Tasks'
and y_axis='Count'
and keeporigin = 1
and showpoints = 1
and format = 'png'
and maptype = 'HTML'
and mapname = 'plot'
);
$rsth = $dbh->prepare($sql);
$rsth->execute;
$row = $rsth->fetchrow_arrayref;

# output picture
open(OUTF, '>graph.png');
binmode OUTF;
print OUTF $$row[0];
close OUTF;

$dbh->disconnect;


Thanks for any help,
Walt (warsting@gmail.com)


Posted by Dean Arnold on May 19, 2006, 5:03 pm
Please log in for more thread options


walt wrote:
> I'm receiving this error message when I run a PERL script:
> Use of uninitialized value in string ne at
> C:/Perl/site/lib/DBD/Chart.pm line 2491.
>
> Why does this fail? or give me this error? What does it want to be
> initialized?
> What is DBD:Chart want me to do in DBIx::Chart?
>
>
> This is the script used to create a composite of 2 line graphs on to
> one "image":
>
> #!C:\Perl\bin\perl.exe -w
>
> use DBIx::Chart;
> use DBI qw(:sql_types);
>
> $DSN = 'Testing';
> $DATA_SOURCE = "DBI:ODBC:$DSN";
> $USER_NAME = 'sa';
> $PASSWORD = 'xxxxx';
> $DB = 'test';
> $dbh = DBIx::Chart->connect($DATA_SOURCE, $USER_NAME, $PASSWORD,
> {RaiseError => 1, AutoCommit => 0})
> or die "Cannot connect to $DATA_SOURCE: $DBI::errstr \n";
> DBI->trace(2, 'logfile.log');
>
> $sql = qq( select * from
>
> (select (rtrim(PCBJOBNUMBER)+', '+ rtrim(PCBPNUM)+', '+
> rtrim(LLJC_Line_Number_LONG)+', '+ rtrim(PCBTASKNUM)) as job_task,
> cast(PCBESTIMATEQTY as integer) as esthrs
> from $DB..pcb00125
> where pcbjobnumber = 'm0603412' and pcbpnum = '001'
> returning linegraph(*)
> where color = 'blue' and shape = 'fillcircle') as line1,
>
> (select (rtrim(PCBJOBNUMBER)+', '+ rtrim(PCBPNUM)+', '+
> rtrim(LLJC_Line_Number_LONG)+', '+ rtrim(PCBTASKNUM)) as job_task,
> cast(PCBACTUALQTY as integer) as acthrs
> from $DB..pcb00125
> where pcbjobnumber = 'm0603412' and pcbpnum = '001'
> returning linegraph(*)
> where color = 'green' and shape = 'opensquare') as line2
>
> returning image
> where width = 600 and height = 500
> and x_axis = 'Tasks'
> and y_axis = 'Hours'
> and keeporigin = 1
> and showvalues = 1
> and showpoints = 1
> and showgrid = 0
> and format = 'png'
> and maptype = 'HTML'
> and mapname = 'plot'
> );
> $rsth = $dbh->prepare($sql);
> $rsth->execute;
> $row = $rsth->fetchrow_arrayref;
>
> # output picture
> open(OUTF, '>graph.png');
> binmode OUTF;
> print OUTF $$row[0];
> close OUTF;
>
> $rsth->finish;
> $dbh->disconnect;
>

Could you provide the versions of DBIx::Chart and
DBD::Chart you're using ? Also, at which line of your
script does it break ? prepare(), execute(), or fetch() ?

Once I know which version you're using, I may be able
to pinpoint the problem.

Regards,
Dean Arnold
Presicient Corp.

Posted by Dean Arnold on May 19, 2006, 5:09 pm
Please log in for more thread options


walt wrote:
> I'm receiving this error message when I run a PERL script:
> Use of uninitialized value in string ne at
> C:/Perl/site/lib/DBD/Chart.pm line 2491.
>
> Why does this fail? or give me this error? What does it want to be
> initialized?
> What is DBD:Chart want me to do in DBIx::Chart?
>
>
> This is the script used to create a composite of 2 line graphs on to
> one "image":
>
> #!C:\Perl\bin\perl.exe -w
>
> use DBIx::Chart;
> use DBI qw(:sql_types);
>
> $DSN = 'Testing';
> $DATA_SOURCE = "DBI:ODBC:$DSN";
> $USER_NAME = 'sa';
> $PASSWORD = 'xxxxx';
> $DB = 'test';
> $dbh = DBIx::Chart->connect($DATA_SOURCE, $USER_NAME, $PASSWORD,
> {RaiseError => 1, AutoCommit => 0})
> or die "Cannot connect to $DATA_SOURCE: $DBI::errstr \n";
> DBI->trace(2, 'logfile.log');
>
> $sql = qq( select * from
>
> (select (rtrim(PCBJOBNUMBER)+', '+ rtrim(PCBPNUM)+', '+
> rtrim(LLJC_Line_Number_LONG)+', '+ rtrim(PCBTASKNUM)) as job_task,
> cast(PCBESTIMATEQTY as integer) as esthrs
> from $DB..pcb00125
> where pcbjobnumber = 'm0603412' and pcbpnum = '001'
> returning linegraph(*)
> where color = 'blue' and shape = 'fillcircle') as line1,
>
> (select (rtrim(PCBJOBNUMBER)+', '+ rtrim(PCBPNUM)+', '+
> rtrim(LLJC_Line_Number_LONG)+', '+ rtrim(PCBTASKNUM)) as job_task,
> cast(PCBACTUALQTY as integer) as acthrs
> from $DB..pcb00125
> where pcbjobnumber = 'm0603412' and pcbpnum = '001'
> returning linegraph(*)
> where color = 'green' and shape = 'opensquare') as line2

Ooops, I think I may have spotted the issue. IIRC, DBIx::Chart doesn't
support the 'AS' keyword for subquery aliases; so instead of


> where color = 'blue' and shape = 'fillcircle') as line1,
...and...
> where color = 'green' and shape = 'opensquare') as line2

you'll need to change to

> where color = 'blue' and shape = 'fillcircle') line1,
...and...
> where color = 'green' and shape = 'opensquare') line2

HTH,
Dean Arnold
Presicient Corp.

Posted by Peter Scott on May 19, 2006, 8:29 pm
Please log in for more thread options


On Fri, 19 May 2006 11:35:05 -0700, walt wrote:
> I'm receiving this error message when I run a PERL script:
> Use of uninitialized value in string ne at
> C:/Perl/site/lib/DBD/Chart.pm line 2491.
>
> Why does this fail? or give me this error?

Incidentally, that's a warning, not an exception, and your program did not
stop executing at that point. It may have produced incorrect results, no
results at all, or thrown an actual exception later, for reasons stemming
from an uninitialized value being used, but that's a separate issue.

--
Peter Scott
http://www.perlmedic.com/
http://www.perldebugged.com/


Similar ThreadsPosted
Need help with Chart::OFC January 4, 2008, 10:04 pm
GD::Chart OO model October 27, 2004, 10:42 am
Problem with Name of Excel Chart September 22, 2005, 9:21 am
GD::Graph - Can it create a stock chart October 7, 2004, 10:42 am
ANNOUNCE: Image::Magick::Chart V 1.01 June 13, 2005, 3:36 am
Create Excel chart from spreadsheet on Un*x? December 28, 2006, 11:28 pm
RFC: DBIx::ETL or DBIx::replicate November 20, 2006, 4:41 pm
DBIx::Hash2Table V 2.00 July 29, 2004, 7:16 am
DBIx::MSSQLReporter V 1.03 July 29, 2004, 7:18 am
DBIx::Table2Hash V 1.13 July 29, 2004, 7:18 am

Our other projects:

Art Dolls, Fairies and Mermaids - Sunnyfaces.net

Roy's Linux, Programming and Search Engines messages

1-Script XML SitemapXML Sitemap