I'm presently working a Debian Linux 5.0 development server with IDS
11.5 Developer Edition. My instance and database have successfully
been created and now I'm trying to connect to the Db using SQuirreL
SQL on a windows system. The Informix JDBC driver has been loaded to
the client and it looks okay there. The problem I am having is
connectivity to the database even when I have set up GRANT permission
on the database. "informix" user has been created on the Debian
server. Here is the syntax used for grant permissions.
> GRANT CONNECT TO PUBLIC;
> GRANT CONNECT TO informix;
> GRANT DBA TO informix;
I can connect locally with dbaccess, but unable to connect using
SQuirreL SQL. Do I need the IDS Client SDK even though I have the
Informix JDBC driver loaded and configured? What more do I need to
do? I have been working on this for a few days when time allows and
I'm stumped.
Here is some information about the SQuirrel SQL configuration.
jdbc:informix-sqli://localhost:53260/
morganscrossing:INFORMIXSERVER=vm_ids_115
Error:
vm-debian-5 (vm_ids_115:morganscrossing):
com.informix.asf.IfxASFException: Attempt to connect to database
server (vm_ids_115) failed.
Thank you,
Christopher
_______________________________________________
Informix-list mailing list
Inform...@iiug.org
http://www.iiug.org/mailman/listinfo/informix-list
jdbc:informix-sqli://<hostname of the debian LINUX BOX>:53260/
morganscrossing:INFORMIXSERVER=vm_ids_115
VG.
The "localhost" entry is used because I'm port forwarding with "ssh"
and "localhost" is used instead of a hostname/ip when port forwarding.
Thanks for the suggestions.
Christopher
You all are great and thanks again.
If you all have more ideas, please send them over.
Thank you,
Christopher
do you get a connect when you do a
telnet localhost 53260
?
If this connects it proves that at least the tcpip part
works... (my guess it that it doesnt)
If yes, are you sure vm_ids_115 is the correct instance
name? Sounds more like a machine name to me...
Cheers,
Dirk
--
--
-- Dipl.-Math. Dirk Gunsth�vel
-- -professional services-
--
-- Dirk Gunsth�vel IT Systemanalyse - GunCon
-- Hammer Str. 13
-- D-48153 Muenster
-- phone: +49 (0) 251 28446- 0
-- fax: +49 (0) 251 28446-55
-- web: http://www.GunCon.de
-- email: in...@GunCon.de
-- UStId: DE 189527667
--
-- 'One now understands why some animals eat their young.'
-- (Andrew in 'Bicentennial Man' 1999)
"epsilon" <ces...@gmail.com> schrieb im Newsbeitrag
news:2008e454-1945-429e...@l25g2000vba.googlegroups.com...
Go to Global Preferences -> SQL -> Debug and select JDBC Debug to Output Stream
Then try the connect again. After failure click on the small monitor icon on
the bottom bar.
You should see an error like:
SQLState(08004) vendor code(-908)
If it says "-908" than you have a base tcp connection issue. Either you're not
specifying the correct ports or server name, or your tunneling is not working.
If it's another error than post it here.
JDBC driver is enough. You will not need any Client SDK stuff.
The informix JDBC driver is type 4 meaning it's fully independent:
http://java.sun.com/products/jdbc/driverdesc.html
Regards.
--
Fernando Nunes
Portugal
http://informix-technology.blogspot.com
My email works... but I don't check it frequently...
Listed below shows that I do not have a connection. Hmm. The
database is running. Listed below is result of the telnet response.
Strange, I wonder what this means outside of communication.
$> telnet localhost 53260
Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection refused
Christopher
From this and the test with telnet I believe it's safe to assume your port
forwarding is broken... right?
Oops! A blasted operator error on my part with port forwarding. I
had a typo in the "ssh" port syntax I was trying to use. This has
been corrected as listed below, and now I see the -908 error you
mentioned as a possibility.
$> telnet localhost 53260
Trying 127.0.0.1...
Connected to BOOBOO.bcgssbd.doodles.com.
Escape character is '^]'.
Connection closed by foreign host.
Went to Global Preferences -> SQL -> Debug and select JDBC Debug to
Output Stream.
Then I tried to connect again. After the failure I clicked on the
small monitor icon at the bottom bar and saw the error:
SQLState(08004) vendor code(-908)
java.sql.SQLException: com.informix.asf.IfxASFException: Attempt to
connect to database server (vm_ids_115) failed.
http://www.oninit.com/errorcode/index.php (Oninit States)
-908 Attempt to connect to database server (servername) failed.
The program or application is trying to access another database server
but has failed. Note the server name in the current statement.
The desired database server is unavailable, or the network is down or
is congested. Ask your DBA and system administrator to verify that the
server and network are operational. If the network is congested, use
the environment variables INFORMIXCONTIME and INFORMIXCONRETRY to tune
connection timing. For information on setting these environment
variables, see the IBM Informix Guide to SQL: Reference.
-----
Linux ENV Settings
-----
INFORMIXCONRETRY=3
INFORMIXCONTIME=120
INFORMIXDIR=/opt/IBM/informix
INFORMIXSERVER=vm_ids_115
INFORMIXSQLHOSTS=/opt/IBM/informix/etc/sqlhosts.vm_ids_115
$ cat /opt/IBM/informix/etc/sqlhosts.vm_ids_115
#==============================================================
#DBSERVER PROTOCOL HOSTNAME SERVICE
#==============================================================
vm_ids_115 onsoctcp vm-debian-5 15260
vm_ids_115_drda drsoctcp vm-debian-5 15261
vm_ids_115_shm onipcshm vm-debian-5 dummy
vm_ids_115_str onipcstr vm-debian-5 dummy
Thank you,
Christopher
Weird... Can you check the online.log of your instance at the time you did the
connect using telnet? Does it show any message like "invalid message received
from sqlexec"?
-908 is an error that happens when something is wrong at the lower layer (TCP).
It has nothing to do with permissions, grants, passwords etc.
I'm still not convinced your port forwarding is working ok... Can you confirm
the port numbers and host names? Also, can you confirm it didn't close the
tunnel when telnet exited?
VG.
I will try that idea and get back with you all.
Thank you,
Christopher
I've seen 908 arise from the fact that the server couldn't verify the
client's address. Is you client obtaining its address by DHCP? If so
does the DHCP server provide a DNS service and does the database server
use that as a name server? If the client address is fixed does the
database server have it in /etc/hosts? If the client is using DHCP it
may be best to reserve the address on the DHCP server and then set this
up in the database server's host file.
--
Ian
Hotmail is for spammers. Real mail address is igoddard
at nildram co uk
Thanks for the tip. I added the host entry to the ids server and the
results were the same as mentioned earlier. Our IDS DBA is out this
week and I'll chat with him since he has his SQuirreL Client working.
If/when I get this working, I'll update the forum.
Again, I want to thank everyone for their time and effort with this.
I know the answer is out there, I just need to keep hammering on it.
Thanks again,
Christopher
Uhu? 908 because of a failed reverse DNS? Weird...
Nevertheless, it doesn't apply here... The "host" that IDS will see is the same
machine as the one running the engine, because of the port forwarding...
Nice way to connect without password and trusts :)
Yup. After switching from Centos (as per my earler thread) to Ubuntu
rsh prompted for a password despite setting up hosts.equiv *and* rhosts
and dbaccess returned 908 to a client obtaining its IP on DHCP. The
initial fix was to put a + in hosts.equiv instead of the client name -
in other words accept any host.
This makes sense when you think about it. The server receives a
connection attempt from an IP address - how does can it compare this
with a name in hosts.equiv? It needs to do a reverse lookup. If IDS is
using the same mechanism then it has the same problem.
Notwithstanding your tutorial on using PAM this is a badly documented
area. For instance Informix docs mention testing the connection with
rsh. Google reveals that if anyone failing to get rsh to work posts a
query on a forum they are almost invariably answered by a know-all
telling them to use ssh instead.
This sounds rather like the bumblebee. According to theory the bee
cannot possibly fly. Unfortunately nobody told the bee and it flies
quite happily. And nobody told my setup it couldn't work either. But
read on.
> With respect of putting a + or dynamic IP'd machine in any of your
> hosts.equiv entries... uhm very bad idea. If this was a production
> machine, your sysadmin would bitch slap you and probably demand that you
> get fired for gross incompetence. While it sounds like this is a test
> machine, you should still act like its a production machine.
My words were "initial fix". This confirmed that reverse lookup was the
problem.
> With respect to your problem as stated above...
>
> Let me get this straight. You have a client that gets its IP address
> from DHCP. Ok, so how then is the server supposed to know who the
> machine is? TRY SETTING UP THE CLIENT WITH A STATIC IP ADDRESS.
And the longer term fix is to *reserve* an IP address on the DHCP
server. The client is a laptop and as laptops are liable to be used in
other locations a static IP address is not a good idea. A reserved
address on the DHCP server has the same effect, namely that the database
server can be given the appropriate name/IP pair.
> Oh and DO NOT USE .rhosts !!! Anyone who does this is a pathetic
> moron/git/imbicile/ brain dead idiot and should be fired for incompetence.
Well, that's Bill Joy told off; AFAIK the entire remote access stuff was
written by him. But what does he know?
Oh, by the way, the correct spelling is imbecile.
http://en.wikipedia.org/wiki/Bumblebee#Bumblebee_myths
--
RGB
Sweet Fanny Adams?
--
Cheers,
Obnoxio The Clown
http://obotheclown.blogspot.com
The following is a disclaimer and a protest at the collection, retention
and sharing of my personal mail by the morally bankrupt state.
By adding a string of key words, it will guarantee that each and every
mail that I send will now need to be manually viewed as it is picked up
by the auto scan software. If every person in the UK does exactly the
same, then the entire system will quickly become so unmanageable, so
unwieldy that it will become unworkable.
Key words: bomb, assassinate, president, brown, Osama, Obama, Sarkozy,
Merkel, government, target, location, rocket, grenade, al-Qaeda,
Pakistan, India, Afghanistan, UK, America, guns, jets, bombs,
machine-gun, terrorists, MP's, pigs, troughs, France, Germany, Italy,
nuclear, Korea.
PPS If you are reading this because you've picked up the above keywords:
I hope your parents are proud of what you have become.
--
This message has been scanned for viruses and
dangerous content by OpenProtect(http://www.openprotect.com), and is
believed to be clean.
I may miss some "dirty" details that only R&D can provide, but I'll do my best.
Once again I write...
The files are not the main issue. Just close the services...
If anyone wants to make a request for IDS stop using these files (like it'ts
already possible for HDR setup) I'll put myself on the head of the line...
But, again:
IDS DOES NOT need the "r" services running... it just looks at the files (and
not exactly the same way as the "r" commands).
Sigh indeed
>
> /etc/hosts.equiv isn't inherently bad, but it is dangerous. It is
> controlled by root access so it limits some exposure.
Read this and see if you recognise it:
Informix requires a hosts.equiv file for its default authentication policy.
Read it again:
Informix requires a hosts.equiv file for its default authentication policy.
Was there any part of that you didn't understand?
Where does that come from?
It comes from p3.12 of the IDS 11.50 IDS administrator's guide.
Let's just say it again in case you missed it.
Informix requires a hosts.equiv file for its default authentication policy.
Read my post again.
This time read it properly.
Find where I said that we're dealing with a box exposed to the internet.
Find where I said that hosts.equiv was left open.
You didn't find either did you?
If you have a problem connecting and opening hosts.equiv as a temporary
measure fixes it then you know you have a problem authenticating the
client. Having done that you can close hosts.equiv and look for the
source of your problem.
Please... whenever you say that, add that it DOESN'T need the "r" services
running. Also add that you can control if it checks /etc/hosts.equiv or .rhosts
or both or none. Also add that this happens ONLY if you want to use trusted
connections (you can use other ways of authentication). Also add that it is NOT
needed for distributed queries (just configure PAM).
(you can also add that this is a touchy subject for me, but I believe people
will not care about that ;) )
You'll need to speak to the folks who write the manuals because it goes
on to suggest testing with rlogin
> Also add that you can control if it checks /etc/hosts.equiv or .rhosts or both or none.
I'm coming to the conclusion that Gumby can only take in small amounts
of information at a time and that might be overload.
True... Of course, if it works with rlogin it should work with IDS ;)
That should be fixed. I agree.
> I'm coming to the conclusion that Gumby can only take in small amounts
> of information at a time and that might be overload.
>
Most probably that's also true :)
Well... I'll probably post something soon about this...
I'll try to take the opportunity to do it before xC4 comes out. Than I'll have
other subjects to cover ;)
I can't believe you write such crap Gumby - and if this bit is crap how
much else of what you write is crap?
go look at the fine manuals for DHCP and see what something like
host slax-dev { hardware ethernet 00:0c:29:29:6c:d1; fixed-address
192.168.22.99; }
might do
You know those bits at the end where he says
"But Hey, what do I know ..."
Everything except those bits. Sometimes.
Go to
kbserver.netgear.com/pdf/dg834_dg834b_ref_manual_03Jun05.pdf
and check out p 6-6. And check /your/ attitude at the door.
Exactly what part of the phrase "p3.12 of the IDS 11.50 IDS
administrator's guide" did you not understand?
But there is one thing that you absolutely can NOT do.
Which is to ever, EVER shut the fuck up.
Why you won't just shut the fuck up, ever.
Actually that's the best answer I can give a misguided clown who
thinks adding a bunch of keywords at a bottom of a post will actually
accomplish anything that will get past a filter and in front of a
human.
Ian Michael Gumby wrote:
> Poor Clown.
>
> What don't you understand?
Why you won't just shut the fuck up, ever.
--
Cheers,
Obnoxio The Clown
http://obotheclown.blogspot.com
The following is a disclaimer and a protest at the collection, retention
and sharing of my personal mail by the morally bankrupt state.
By adding a string of key words, it will guarantee that each and every
mail that I send will now need to be manually viewed as it is picked up
by the auto scan software. If every person in the UK does exactly the
same, then the entire system will quickly become so unmanageable, so
unwieldy that it will become unworkable.
Key words: bomb, assassinate, president, brown, Osama, Obama, Sarkozy,
Merkel, government, target, location, rocket, grenade, al-Qaeda,
Pakistan, India, Afghanistan, UK, America, guns, jets, bombs,
machine-gun, terrorists, MP's, pigs, troughs, France, Germany, Italy,
nuclear, Korea.
PPS If you are reading this because you've picked up the above keywords:
I hope your parents are proud of what you have become.
--
This message has been scanned for viruses and
dangerous content by OpenProtect(http://www.openprotect.com), and is
believed to be clean.
It would be nice to see a post from you with the following sentence:
"I fully understand that I don't need to be running the "r" services for
Informix trusted connections to work. As such, all my security concerns which
are right, don't relate to Informix authentication"
It would mean that not only you could read, but also you could understand. ;)
With, or without the "r" services running?
> Now, I have't touched 4GL since '96. Really I stopped programming in 4GL
> since '93 but I still played with it . 4GL wasn't really designed as a
> 'client/server' paradigm. That was an after thought. 4GL was mainly used
> on 'green screen' terminals that were connected to the server via a
> serial connection. (You do remember those, right?)
>
> When it went 'client/server', the internet was relatively young and
> security wasn't the first thing anyone thought about. After all, you'd
> be client server on your own domain and behind a nice set of fire walls
> with a DMZ zone and your app wouldn't be out beyond the interior firewall.
>
> I would have believed that 4GL would have grown up along the way. But
> what do I know? I switched to Objective-C / Java work for client server
> and laughed at Informix's 'New Error' because those who wrote it didn't
> know jack about language theory.
4GL is perfectly able to make the usual user/password connection.
I would believe this to be a usual method for client/server.
I personally haven't done it (yet), but it should be able to connect to a
DBSERVERALIAS configured with PAM, which makes it very flexible.
So, I don't really understand what is the problem with 4GL...
But hey... ;)
>
> Yet I digress.
>
> The point is that if you use a (+) you've now set up your machine to
> treat anyone within your subnet as a 'trusted' host. So if I were a
> 'disgruntled' employee, or an industrial spy, I'd just bring in a small
> USB stick pre-loaded with Linux. I would then log in as root on my
> machine and now I can connect as root on to your server. Do I need to
> go on, or do you get the drift?
You'd only login as root if you put a + on the ~root/.rhosts. On the
/etc/hosts.equiv is does not allow root access. You should check the man for
ruserok:
"The ruserok() and iuserok() functions take a remote host's name or IP address,
as returned by gethostbyname(), two user names, and a flag indicating whether
the local user's name is that of the super-user. Then, if the user is not the
super-user, it checks the ROOTDIR/etc/hosts.equiv file. If that lookup is not
done, or is unsuccessful, the .rhosts file in the local user's home directory
is checked to see if the request for service is allowed. "
And all this of course, and again, only makes sense if you have the "r"
services running... And I don't know why someone with security concerns would
have these services running...
> 4GL is perfectly able to make the usual user/password connection.
> I would believe this to be a usual method for client/server.
> I personally haven't done it (yet), but it should be able to connect to a
> DBSERVERALIAS configured with PAM, which makes it very flexible.
>
> So, I don't really understand what is the problem with 4GL...
> But hey... ;)
>
>
>
There are a lot of problems with 4GL. Its a legacy application that
hasn't been really able to make the paradigm shift from the green
screen to the multiple windows client. Unfortunately / Fortunately,
you have IDEs that you can do a drag and drop and create Swing apps
fairly quickly. If you don't like Java or are on a Mac, you can use
Interface Builder (Objective-C) that was created by NeXT. There you
again have the ability to create drag and drop of visual elements and
then using object delegation, tie the screen objects to either
controller or business objects. Now I'm dating myself because the java
spring framework uses a different term than delegation and my memory
is drawing a blank right now... ;-)
If you want to look at web based apps, then you can look at Java /
JSTL / add your favorite AJAX library like dojo as a way to build
apps...
But to your point, yes PAM is a bit more interesting. With PAM you can
potentially do a lot of things in terms of security and flexibility
that didn't exist back in the days of Bill Joy. (.rhosts and /etc/
hosts.equiv)
The nice thing about PAM is that it is controlled by the sysadmin and
has a lot more controls around it. The bad thing about PAM is the lack
of adequate documentation. Especially when it comes to using it with
Informix. I think things are better than they were 2 years ago when I
started looking at PAM and IDS 10.0 (or was it 3 years ago? )
And yes, this is why I get peeved about people who still feel that
they have to use /etc/hosts.equiv or .rhosts. You don't.
Don't get me wrong. If you've got a second nic card and a separate
subnet connecting your database servers and you want to make it easy
to connect two servers for HDR, then by all means use /etc/hosts.equiv
to connect those two machines on the private subnet. But that's the
limit.
_______________________________________________
Informix-list mailing list
Inform...@iiug.org
http://www.iiug.org/mailman/listinfo/informix-list
Back to the origin of this thread and the promise that I would report
back my findings after hours of frustration, I finally found the
solution to "ssh" port forwarding on my Debian development server and
the SQuirreL SQL client connection. Listed below is configuration I
had to use with "onconfig" and "sqlhosts". It seems that Informix
passes a the exact listing for the hostname and translation is not an
option.
SERVER:
$> vi onconfig
#======================================================================
#DBSERVERALIAS PROTOCOL HOSTNAME
SERVICE
#======================================================================
vm_ids_115 onsoctcp vm-debian-5 15260
vm_ids_115_tcp onsoctcp localhost 15260
vm_ids_115 drsoctcp vm-debian-5 15261
vm_ids_115 onipcshm vm-debian-5 dummy
vm_ids_115 onipcstr vm-debian-5
dummy
$> vi sqlhosts
DBSERVERALIASES vm_ids_115,vm_ids_115_tcp
CLIENT:
telnet localhost 1526
Thank you again for all the great suggestions.
Christopher