DBI connect('','uid/pass@(DESCRIPTION=
(ADDRESS=(PROTOCOL=TCP)(HOST=$host)(PORT=1521))
(CONNECT_DATA=(SID=$sid)))',...) failed: ORA-12545: Connect failed because target host or object does not exist (DBD ERROR: OCIServerAttach) at /var/www/htdocs/bin/testperl.pl line 34
dbi status: ORA-12545: Connect failed because target host or object does not exist (DBD ERROR: OCIServerAttach)
kurt heston wrote:
I've traced my problem to the TCP/IP stack. The code below gives:
"Can't get tcp protocol by name at /var/www/htdocs/groups/Purch/bin/secure/test.cgi line 12"
<pre> #!/usr/bin/perl
use CGI; use Net::Ping;
$query = new CGI;
print $query->header;
print "<html><head><pre>\n";
$p = Net::Ping->new('tcp'); print "$host is alive.\n" if $p->ping("panther2"); print "$host is not alive.\n" if !$p->ping("panther2"); $p->close();
print "</pre></head></html>\n"; </pre>
The DBD code that won't work from within Apache works fine from the command line:
$DBH = DBI->connect("Apache::DBI::Oracle:",q{uid/password@(DESCRIPTION= (ADDRESS=(PROTOCOL=TCP)(HOST=server)(PORT=1521)) (CONNECT_DATA=(SID=databaseSID)))}, "");
When this code is called from within the Apache process (within Cygwin), I invariably get a 12545 error. Again, the DBI apis work fine from the Cygwin command-line. I can connect and run queries without issue so long as I don't try it within a CGI script.
Pointers?
-- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/
-- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/