Hi folks,
Recently introduced DBJMIN for friends. I installed the windows
version(DBJMIN RC05 - dbjmin-win.zip) But when to try connect to a
Oracle 10g doesn't work.
*Problem:*Database is *UP* but InetAddress.isReachable(3000) return
*false*.
I investigated and found an interesting thing, always DBJMIN check if
database isAlive (ret = address.isReachable(3000)) and return true or
false.
Unix Like implementation use ICMP (ping). The windows version use TCP
to port 7 (echo).
"Windows, as strange as it seems, does not officially support an ICMP
"ping" system call. The J2SE 5 implementation hence tries to open a
TCP socket on *port 7* (the echo service) and hopes to get some sort
of reply." - Simone Bordet
There are 2 bugs related: 4727550(Will not fix), 5061568
DBJMIN CODE - Always check it.
Class: */trunk/DB2-JMIN-SWING/src/db2jmin/pojo/util/ReachServer.java *
{{{
InetAddress address = InetAddress.getByName(host);
ret = address.isReachable(3000);
}}}
So is impossible to connect through Windows because DBJMIN always
return false.
I tried to ping and return false too, because is windows problem.
After a time I not found a *good solution* so a made temporary
solution (commited):
[
http://code.google.com/p/dbjmin/source/detail?r=136]
When OS name is Windows I can't check isAlive.
DBJMIN it works.
If anyone has another solution I would appreciate it.
Please let me know if you have any questions or concerns