Problem with Perl DBI - IO::Socket::INET:


L

Lucas Young

Hi all

I'm trying to setup a connection to a Hypersonic SQL database on Ubuntu Linux.
I've installed HSQLDB-BER from
http://sourceforge.net/projects/hsqldb-ber/ and the server seems to
start OK, but I get this error running the sample.pl script:

DBI connect('hostname=localhost:9111;url=ber:hsqldb:play','sa',...)
failed: Failed to open socket to server: IO::Socket::INET: connect:
Connection refused at sample.pl line 27
Failed to connect: (104) Failed to open socket to server:
IO::Socket::INET: connect: Connection refused

The line of code is:

$dsn = "dbi:JDBC:hostname=localhost:9111;url=ber:hsqldb:play";

What can cause the IO::Socket::INET: error, and can you suggest ways
to debug it?
many thanks in advance
 
Ad

Advertisements

J

John Bokma

Lucas Young said:
Hi all

I'm trying to setup a connection to a Hypersonic SQL database on
Ubuntu Linux. I've installed HSQLDB-BER from
http://sourceforge.net/projects/hsqldb-ber/ and the server seems to
start OK, but I get this error running the sample.pl script:

DBI connect('hostname=localhost:9111;url=ber:hsqldb:play','sa',...)
failed: Failed to open socket to server: IO::Socket::INET: connect:
Connection refused at sample.pl line 27
Failed to connect: (104) Failed to open socket to server:
IO::Socket::INET: connect: Connection refused

The line of code is:

$dsn = "dbi:JDBC:hostname=localhost:9111;url=ber:hsqldb:play";

I doubt if that's line 27, unless $dsn has some magic.
 
M

Mark Clements

John said:
I doubt if that's line 27, unless $dsn has some magic.

Vim tells me it's line 24 :)

$dsn = "dbi:JDBC:hostname=localhost:9111;url=ber:hsqldb:play";
my %null;

$dbh = DBI->connect($dsn, "sa", "", \%null)
or ( die("Failed to connect: ($DBI::err) $DBI::errstr\n"));

Lucas: you need to verify that the server is running, and that it is
listening on the port on which you think it is running. If it produces
error logs, what is in them? Have you verified that there is a process
listening on the port to which the sample script is trying to connect
ie does

telnet localhost 9111

connect or do you get connection refused? lsof is also good for
diagnosing (among other things) what process is listening on which port.
What does

lsof -i :9111

return?


What is in the error logs for the server?

Mark
 
Ad

Advertisements

L

Lucas Young

Vim tells me it's line 24 :)

$dsn = "dbi:JDBC:hostname=localhost:9111;url=ber:hsqldb:play";
my %null;

$dbh = DBI->connect($dsn, "sa", "", \%null)
or ( die("Failed to connect: ($DBI::err) $DBI::errstr\n"));

Lucas: you need to verify that the server is running, and that it is
listening on the port on which you think it is running. If it produces
error logs, what is in them? Have you verified that there is a process
listening on the port to which the sample script is trying to connect
ie does

telnet localhost 9111

connect or do you get connection refused? lsof is also good for
diagnosing (among other things) what process is listening on which
port. What does

lsof -i :9111

return?


What is in the error logs for the server?

Mark

Hi Guys
Silly me, I didnt have a server running :) Now the sample is working fine.
What I'd like to be aable to do is connect to the Hypersonic SQL
database that comes with Readerware (Readerware lets you scan
book/dvd/cd barcodes, it looks them up on Amazon etc and stores them in
a database). The developer has provided the database info:

Readerware uses Hypersonic SQL.
The JDBC driver is distributed with Readerware in lib\hsql.jar
Login Name: sa
Password:
(Leave the password field blank)

URL: jdbc:HypersonicSQL:C:\Readerware\RWareDB.rwd
Driver: org.hsql.jdbcDriver
Driver Location: C:\Readerware\lib\hsql.jar

How could I configure the sample to connect to this database? I'd be a
very happy camper after that :)
Thanks for all the help

Lucas
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top