Hi everybody ,
i have the task of developing in Perl a script that retrieves data from 3 tables ( bugs, profiles, products) from a MySQL database called bugs and display them in an excel sheet report.
I always get when trying to test it " 500 Internal Server Error - The server encountered an internal error or misconfiguration and was unable to complete your request."
Can somebody help me please.
//connect to MySQL database
#!/usr/bin/perl –w
//# -*- Mode: perl; indent-tabs-mode: nil -*-
//use lib qw(.);
//use Bugzilla;
//use Bugzilla::Bug; # EmitDependList
//use Bugzilla::Constants; # LOGIN_*
//use Bugzilla::User; # UserInGroup
//require "globals.pl";
use DBI;
use strict;
use warnings;
use Spreadsheet::SimpleExcel;
//my $cgi = Bugzilla->cgi;
//my $dbh = Bugzilla->dbh;
//my $template = Bugzilla->template;
//my $vars = {};
#data
my @data1 = (['Row1Col1', 'Row1Col2'],
[Row2Col1', 'Row2Col2']);
my $worksheet = ['Report.xls', {-data => \@data1}];
print “Available Database Drivers:\n\n”;
print join(“\n”, DBI - > availableDrivers()), “\n\n”;
//my %attr => (RaiseError => 0);
my $dbh = DBI -> connect(“DBI:mysql:dbname=bugs:localhost”, “carole”, “carole”, { RaiseError => 1, PrintError => 0,
AutoCommit => 0 })
or die(“Error: $DBI::errstr”);
my $excel_file = ‘C:/Perl/Report.xls’;
//-e checks to see if the file exists
if (-e “$excel_file”)
{
#open Excel file
my $Book = $Excel -> Workbooks -> Open(“$excel_file”);
}else{
//paste code here to create a new file
#create a new instance
my $excel = Spreadsheet::SimpleExcel -> new(-worksheets => [$worksheets]);
//$excel ->{Visible}=1;
#to create a file
my $filename = 'Report.xls';
my $excel = Spreadsheet::SimpleExcel -> new (-filename =>$filename);
//$excel -> { SheetsInNewWorkBook} =1;
//$workbook = $excel -> Workbooks ->Add();
//$worksheet = $ Workbook -> Worksheets(1);
//$worksheet -> {Name} = “Report”;
#add worksheets
$excel -> add_worksheet('Report.xls');
my $sth = $dbh -> prepare(‘select b.bug_id, b.bug_file_loc, b.bug_severity, b.bug_status, b.creation_ts, b.delta_ts,
b.short_desc, b.op_sys, b.priority, b.rep_plarform, b.version, b.component_id, b.resolution, b.target_milestone,
b.status_whiteboard, b.votes, b.keywords, b.last_diffed, b.everconfirmed, b.reporter_accessible, b.cclist_accessible,
b.estimated_time, b.remaining_time, b.deadline, b.alias, pf.login_name, pd.name
from bugs b, profiles pf, products pd
where bugs.assigned_to = profiles.user_id
and bugs.product_id = products.id
order by bug_id;’);
$sth ->execute() or die $dbh ->errstr;
while ( my $ref = $sth->fetchrow_hashref()) {
print $ref ->{ 'bug_id', 'assigned_to', 'bug_file_loc', 'bug_severity', 'bug_status', 'creation_ts', 'delta_ts',
'short_desc', 'op_sys', 'priority', 'product_id', 'rep_plarform', 'version', 'component_id', 'resolution',
'target_milestone', 'status_whiteboard', 'votes', 'keywords', 'last_diffed', 'everconfirmed', 'reporter_accessible',
'cclist_accessible', 'estimated_time', 'remaining_time', 'deadline', 'alias', 'login_name', 'name'}, "\n";
}
$sth -> finish();
#create the spreadsheet
$excel -> output();
#sort data of worksheet – ASC or DESC
$excel -> sort_data(‘Report.xls’,0, ‘ASC’);
#add headers to 'Report'
$excel -> set_headers('Report.xls', [qw/Bugs report/]);
#print sheet-names
print join( “, “,$excel -> sheets()), “\n”;
#get the result as a string
my $spreadsheet = $excel -> output_as_string();
#print result into a file and handle error
$excel->output_to_file(“Report.xls”) or die $excel -> errstr();
$workbook -> SaveAs($excel_file);
$dbh -> disconnect();
1 2798
Hi everybody ,
i have the task of developing in Perl a script that retrieves data from 3 tables ( bugs, profiles, products) from a MySQL database called bugs and display them in an excel sheet report.
I always get when trying to test it " 500 Internal Server Error - The server encountered an internal error or misconfiguration and was unable to complete your request."
Can somebody help me please. -
//connect to MySQL database
-
-
#!/usr/bin/perl –w
-
//# -*- Mode: perl; indent-tabs-mode: nil -*-
-
-
//use lib qw(.);
-
-
//use Bugzilla;
-
//use Bugzilla::Bug; # EmitDependList
-
-
//use Bugzilla::Constants; # LOGIN_*
-
//use Bugzilla::User; # UserInGroup
-
-
//require "globals.pl";
-
-
-
-
use DBI;
-
use strict;
-
use warnings;
-
-
use Spreadsheet::SimpleExcel;
-
-
-
-
//my $cgi = Bugzilla->cgi;
-
//my $dbh = Bugzilla->dbh;
-
//my $template = Bugzilla->template;
-
//my $vars = {};
-
-
-
-
#data
-
my @data1 = (['Row1Col1', 'Row1Col2'],
-
[Row2Col1', 'Row2Col2']);
-
-
my $worksheet = ['Report.xls', {-data => \@data1}];
-
-
print “Available Database Drivers:\n\n”;
-
print join(“\n”, DBI - > availableDrivers()), “\n\n”;
-
-
//my %attr => (RaiseError => 0);
-
-
my $dbh = DBI -> connect(“DBI:mysql:dbname=bugs:localhost”, “carole”, “carole”, { RaiseError => 1, PrintError => 0,
-
-
AutoCommit => 0 })
-
or die(“Error: $DBI::errstr”);
-
-
my $excel_file = ‘C:/Perl/Report.xls’;
-
-
//-e checks to see if the file exists
-
-
if (-e “$excel_file”)
-
{
-
-
#open Excel file
-
my $Book = $Excel -> Workbooks -> Open(“$excel_file”);
-
}else{
-
-
//paste code here to create a new file
-
#create a new instance
-
my $excel = Spreadsheet::SimpleExcel -> new(-worksheets => [$worksheets]);
-
-
-
//$excel ->{Visible}=1;
-
-
#to create a file
-
my $filename = 'Report.xls';
-
my $excel = Spreadsheet::SimpleExcel -> new (-filename =>$filename);
-
-
-
//$excel -> { SheetsInNewWorkBook} =1;
-
-
//$workbook = $excel -> Workbooks ->Add();
-
-
//$worksheet = $ Workbook -> Worksheets(1);
-
//$worksheet -> {Name} = “Report”;
-
-
#add worksheets
-
$excel -> add_worksheet('Report.xls');
-
-
my $sth = $dbh -> prepare(‘select b.bug_id, b.bug_file_loc, b.bug_severity, b.bug_status, b.creation_ts, b.delta_ts,
-
-
b.short_desc, b.op_sys, b.priority, b.rep_plarform, b.version, b.component_id, b.resolution, b.target_milestone,
-
-
b.status_whiteboard, b.votes, b.keywords, b.last_diffed, b.everconfirmed, b.reporter_accessible, b.cclist_accessible,
-
-
b.estimated_time, b.remaining_time, b.deadline, b.alias, pf.login_name, pd.name
-
from bugs b, profiles pf, products pd
-
where bugs.assigned_to = profiles.user_id
-
and bugs.product_id = products.id
-
order by bug_id;’);
-
-
$sth ->execute() or die $dbh ->errstr;
-
-
while ( my $ref = $sth->fetchrow_hashref()) {
-
-
print $ref ->{ 'bug_id', 'assigned_to', 'bug_file_loc', 'bug_severity', 'bug_status', 'creation_ts', 'delta_ts',
-
-
'short_desc', 'op_sys', 'priority', 'product_id', 'rep_plarform', 'version', 'component_id', 'resolution',
-
-
'target_milestone', 'status_whiteboard', 'votes', 'keywords', 'last_diffed', 'everconfirmed', 'reporter_accessible',
-
-
'cclist_accessible', 'estimated_time', 'remaining_time', 'deadline', 'alias', 'login_name', 'name'}, "\n";
-
-
}
-
-
$sth -> finish();
-
-
#create the spreadsheet
-
$excel -> output();
-
-
#sort data of worksheet – ASC or DESC
-
$excel -> sort_data(‘Report.xls’,0, ‘ASC’);
-
-
#add headers to 'Report'
-
$excel -> set_headers('Report.xls', [qw/Bugs report/]);
-
-
-
-
#print sheet-names
-
print join( “, “,$excel -> sheets()), “\n”;
-
-
#get the result as a string
-
my $spreadsheet = $excel -> output_as_string();
-
-
#print result into a file and handle error
-
$excel->output_to_file(“Report.xls”) or die $excel -> errstr();
-
$workbook -> SaveAs($excel_file);
-
-
$dbh -> disconnect();
-
First, please be sure to put all of your code inside of the code tags. This way our wonderful moderator(s) don't have to follow up behind you and clean up your posting. You can find a sample of code tags in the Reply Guidelines next to your message window when submitting a message.
(Miller: Can you please do this for the original post. ;-|) )
As for your issue, it sounds like you are not able to get to the database ( I am assuming that is where the error is coming from). Have you tried connecting to the database by hand, with the same information in the code? This will ensure that:
1. The database is running.
2. The code you are using will work when the time comes.
Try this and let us know what happens.
Regards,
Jeff
Post your reply Sign in to post your reply or Sign up for a free account.
Similar topics
8 posts
views
Thread by Johnny |
last post: by
|
3 posts
views
Thread by bawar |
last post: by
|
4 posts
views
Thread by ctkevin |
last post: by
| |
2 posts
views
Thread by nofear |
last post: by
| | | |
2 posts
views
Thread by Alan M Dunsmuir |
last post: by
| | | | | | | | | | |