Re: Can't call method "Sql"... need help



On Feb 28, 4:53 pm, "perlguru" <manojkumargu...@xxxxxxxxx> wrote:
On Feb 28, 4:13 pm, sud...@xxxxxxxxx wrote:







hello,

I have a problem CGI script. I am really sorry, this looks quite
big...

I created a package pkg::fetch_history.pm and placed it in c:\Perl
\lib. Then I created a perl file to run from the commad promt. the
program executed well without fail. The code is as follows,

#!C:\Perl\bin\perl.exe
use pkg::fetch_history;

@dates = pkg::fetch_history::get_Dates();
foreach $d (@dates)
{ print "\n",$d; }

the data base exists locally.

Then I created cgi script to populate the values into combo box, it
says

Can't call method "Sql" on an undefined value at C:/Perl/lib/pkg/
fetch_history.pm line 20.

I am not sure why is this. Below is the fetch_history.pm and
combobox.cgi script.

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

# this is fetch_history.pm

package pkg::fetch_history;
use strict;
use Win32::ODBC;

my $db = new Win32::ODBC('ServerStatistics'); #ODBC driver object
#if (!$db)
#{
# print "Database could not be found\n";
#}

sub get_Dates
{
my $q = "select distinct(build_date) from wdf_history order by
build_date";
$db->Sql($q);
my @dates;
push(@dates, $db->Data()) while($db->FetchRow);

return @dates;}

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

use CGI::Carp qw(fatalsToBrowser);
use CGI;
use pkg::fetch_history;

$cgi = new CGI;
print $cgi->header;

@dates = pkg::fetch_history::get_Dates();
print "here is the dates value",@dates;
print <<ENDHTML;
<html>
<head><title> Server statistics </title></head>
<body>
<select name="menu">
ENDHTML

foreach my $d(@datest)
{
print <<ENDHTML;
<option value="$d" selected>(please select:)</option>
<option value="$d">$d</option>
ENDHTML

}
------------------------------------------------------------------

Am I wrong some where?

Thank you,
Regards,
kath.

If this script runs fine from command prompt, ..... then I think you
should check with permission.
I see that you are not catching error at the time of opening
connection to database.
While executing script from web, it executes with lower permission,
and it may not be allowed to connect to database.

Try catching error at the time of opening connection to database...

Hi, thanks for the reply. you are right. The connection to database
was not happening when run I from browser. But the same was working
fine when I run in command prompt. Me and my friend figured it out
that there wasn't establishing of connection to database was
happening.

Why only in the browser?

Then later one thing flashed, that I was using local DSN(user DSN) to
connect to database. Then I tried creating the System DSN tried to
run, it was working.

Any way, thanks a lot.


Regards,
kath.

.



Relevant Pages

  • Re: Apache mod_rewrite/RewriteMap prg: and perl script
    ... > input for some hours and then go on (especially if the database is on ... > a remote box - tcp connection might have gone dead for whatever ... What *does* happen is that the script gets garbled. ... different garble each time you hit it. ...
    (comp.unix.admin)
  • Need help with ASP script.
    ... the beginning process of having a webpage that will direct students to ... I had downloaded a free ASP script which basically uses a ... 'Check the database to see if user exsits and read in there password ... 'Database connection info and driver ...
    (microsoft.public.inetserver.asp.general)
  • Re: statement not allowed within multi-statement transaction (Long)
    ... 100 Database does not exist in sysdatabases can not dettach ... --Verify database Exiists for detach ... >> I have a sample script that is available on request. ... >> I am getting the above error message when executing a stored procedure. ...
    (microsoft.public.sqlserver.programming)
  • Re: Difference between storing files on folder and in mysql db
    ... a separate instance of an image display script (and a separate ... connection if images were stored in the file system. ... know or care if the image is from a database or not. ... but the DB server does. ...
    (comp.lang.php)
  • Re: Management Studio: DB Context: Script Opens a new connection - How do I get script to reuse
    ... > When I was opening up a script to apply to a database, ... > always opening a new connection to the Master Database. ... > happening was each script opens a new connection to the master DB. ...
    (microsoft.public.sqlserver.tools)