Subject | Re: [Firebird-Java] Re: FB 1.5.3 localhost error on JBoss 4.0.4 CR 2 |
---|---|
Author | Helen Borrie |
Post date | 2006-05-09T02:53:55Z |
At 12:11 PM 9/05/2006, hi_feroz wrote:
I am clueless about JBoss but I'll comment on a couple of things here
relating to Linux installations and Mandriva.
1) Which model of Firebird did you install (Classic/Superserver)?
2) Exactly what the successful connection string you gave to isql?
I use localhost" and "I gave the full path". Are you saying that,
when you use localhost (which is a host name) you are expecting your
application to connect to the database with no path?
1) localhost is applicable only when the client and the server are on
the same machine?
2) localhost accesses the TCP/IP local loopback server. As far as
the Firebird connection protocol is concerned, it is *not* a local
connection but a remote one.
--> If it is the case that you were able to access the database
locally *without* the remote protocol, then you are using Classic,
not Superserver. Superserver on Linux does not accept hostless connections.
Linux. During installation, a sysdba password is created. You can
cat the file SYSDBA.password in /opt/firebird to find out what it is,
and change it using gsec.
Note that, when you log in directly to a database under Classic you
don't need the username and password because the sysdba username and
password are available through the environment variables ISC_USER and
ISC_PASSWORD.
However, with SS (which I don't think you are using) the envvars are
no use to you, since a remote connection is mandatory with SS and
remote connections must supply username and password.
Second, last week when I did a full install of Mandriva 10.2 on one
of my servers using the "typical" install from the distribution
disks, I discovered (after much frustration) that xinetd was not
installed. You can test this on your installation by doing (as root)
service xinetd restart
If it comes up with a message to the effect that 'module xinetd
cannot be found' then you have the same problem. The cure is to
install the xinetd package from Disk 1. Then, to be certain it will
start automatically next time you boot the machine, do
chkconfig xinetd
If it doesn't error, then your problem re the localhost connection
almost certainly relates to the client version. A "hostless" local
connect (which, on the Linux Classic server, is a direct connection
to the database) uses libfbembed.so. A remote connection, i.e. using
localhost, requires libfbclient.so. When I installed Fb 1.5.3 on
this new server installation via the RPM installer, libfbclient.so
was missing and I couldn't use localhost. (I think libfbclient.so is
in the .tar.bz2 kit though...)
This doesn't worry me. I could grab libfbclient.so from the Classic
or Superserver tarball kit (.tar.bz2) and symlink to it. But I don't
care, because with Classic I can just use a hostless connection
locally from my web app or the tools. As long as xinetd is running,
connections from remote clients work just fine.
source of your problems. When there is a role named SYSDBA, the
sysdba user cannot access the database.
I think you have a mixture of "things gone wrong" here....
Helen
I am clueless about JBoss but I'll comment on a couple of things here
relating to Linux installations and Mandriva.
>i can ping localhost. localhost is working fine.2 important questions here:
>
>i got it working on another linux box (Mandrake 10.1). here are more
>details.
>
>My First Server is Mandriva 2006 (Admin guy installed with the option
>of high security)
>1) Can ping localhost 127.0.0.1 (he allowed it)
>2) Firebird Installed -> Working fine -> tested thru isql
1) Which model of Firebird did you install (Classic/Superserver)?
2) Exactly what the successful connection string you gave to isql?
>4) Configured firebird-ds.xml in JBoss. Whenever I user localhostIt is not at all clear what the difference is here between "whenever
>inside there, it would give error. Then i gave the full path, it
>didn't give any errors when starting JBoss.
I use localhost" and "I gave the full path". Are you saying that,
when you use localhost (which is a host name) you are expecting your
application to connect to the database with no path?
>5) I deployed my application in JBoss, and it gives localhost error,Do you understand that
>even though i am not using localhost in firebird-ds.xml file. I tried
>giving ip address, full path but it would still give localhost error
>(Please note that i cleared Jboss cache everytime i did a change)
1) localhost is applicable only when the client and the server are on
the same machine?
2) localhost accesses the TCP/IP local loopback server. As far as
the Firebird connection protocol is concerned, it is *not* a local
connection but a remote one.
--> If it is the case that you were able to access the database
locally *without* the remote protocol, then you are using Classic,
not Superserver. Superserver on Linux does not accept hostless connections.
>So, I gaveup and installed Mandrake 10.1 on my laptop:First, 'masterkey' is NOT the default sysdba password on
>1) Can ping localhost
>2) Firebird CS 1.5.3 -> OK
>3) JBoss -> OK
>4) Installed my app, it didn't give any localhost errors, but got a
>different error with saying username and password not defined (even
>though i am using default SYSDBA and masterky).
Linux. During installation, a sysdba password is created. You can
cat the file SYSDBA.password in /opt/firebird to find out what it is,
and change it using gsec.
Note that, when you log in directly to a database under Classic you
don't need the username and password because the sysdba username and
password are available through the environment variables ISC_USER and
ISC_PASSWORD.
However, with SS (which I don't think you are using) the envvars are
no use to you, since a remote connection is mandatory with SS and
remote connections must supply username and password.
Second, last week when I did a full install of Mandriva 10.2 on one
of my servers using the "typical" install from the distribution
disks, I discovered (after much frustration) that xinetd was not
installed. You can test this on your installation by doing (as root)
service xinetd restart
If it comes up with a message to the effect that 'module xinetd
cannot be found' then you have the same problem. The cure is to
install the xinetd package from Disk 1. Then, to be certain it will
start automatically next time you boot the machine, do
chkconfig xinetd
If it doesn't error, then your problem re the localhost connection
almost certainly relates to the client version. A "hostless" local
connect (which, on the Linux Classic server, is a direct connection
to the database) uses libfbembed.so. A remote connection, i.e. using
localhost, requires libfbclient.so. When I installed Fb 1.5.3 on
this new server installation via the RPM installer, libfbclient.so
was missing and I couldn't use localhost. (I think libfbclient.so is
in the .tar.bz2 kit though...)
This doesn't worry me. I could grab libfbclient.so from the Classic
or Superserver tarball kit (.tar.bz2) and symlink to it. But I don't
care, because with Classic I can just use a hostless connection
locally from my web app or the tools. As long as xinetd is running,
connections from remote clients work just fine.
>I searched thru webIf you created a role named SYSDBA then this is another possible
>and found out that Linux and JBoss security options. JBoss has a guest
>user, so i created guest user in Firebird and assigned to SYSDBA role.
>I also used this user in congiguring web.xml file.
source of your problems. When there is a role named SYSDBA, the
sysdba user cannot access the database.
I think you have a mixture of "things gone wrong" here....
Helen