jtds éles gépen nem megy

Fórumok

Sziasztok!

Adott egy konzolos java program ami többek között jtds-t használ mssql-hez kapcsolódáshoz.

A laptopomon ez a programka gond nélkül kapcsolódik az sql szerverhez, azonban ha az éles gépre másolom a cuccot, ezzel a hibaüzenettel leáll:

---
# java -jar test.jar
2011.01.11. 20:17:41 test.DB dbConnect
WARNING: Exception
java.sql.SQLException: Network error IOException: Network is unreachable
at net.sourceforge.jtds.jdbc.ConnectionJDBC2.(ConnectionJDBC2.java:410)
at net.sourceforge.jtds.jdbc.ConnectionJDBC3.(ConnectionJDBC3.java:50)
at net.sourceforge.jtds.jdbc.Driver.connect(Driver.java:184)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at test.DB.dbConnect(DB.java:31)
at test.DB.(DB.java:15)
at test.LogThread.(LogThread.java:25)
at test.Main.main(Main.java:25)
Caused by: java.net.SocketException: Network is unreachable
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:529)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at net.sourceforge.jtds.jdbc.SharedSocket.createSocketForJDBC3(SharedSocket.java:307)
at net.sourceforge.jtds.jdbc.SharedSocket.(SharedSocket.java:257)
at net.sourceforge.jtds.jdbc.ConnectionJDBC2.(ConnectionJDBC2.java:311)
... 8 more
stb stb....
---

Elméletileg ugye hálózati probléma van, de megnéztem telnettel sőt egy python klienssel is megy a kapcsolódás és adatot is tudok vele a szerverről lekérdezni, szóval félretájékoztat a jtds driver.

Van valakinek ötlete mi lehet a baj?

Laptopon a következő java környezet van:

---
~/NetBeansProjects/test$ dpkg -l|grep sun-java
ii sun-java6-bin 6.20dlj-0ubuntu1.9.10 Sun Java(TM) Runtime Environment (JRE) 6 (ar
ii sun-java6-doc 6.20dlj-0ubuntu1.9.10 Sun JDK(TM) Documention -- integration insta
ii sun-java6-jdk 6.20dlj-0ubuntu1.9.10 Sun Java(TM) Development Kit (JDK) 6
ii sun-java6-jre 6.20dlj-0ubuntu1.9.10 Sun Java(TM) Runtime Environment (JRE) 6 (ar
ii sun-java6-plugin 6.20dlj-0ubuntu1.9.10 The Java(TM) Plug-in, Java SE 6
---

a célgépen pedig:
---
ii sun-java6-bin 6.22-1 Sun Java(TM) Runtime Environment (JRE) 6 (ar
ii sun-java6-jdk 6.22-1 Sun Java(TM) Development Kit (JDK) 6
ii sun-java6-jre 6.22-1 Sun Java(TM) Runtime Environment (JRE) 6 (ar
---

A proggit a laptolon forgattam netbeans-al és a doksi szerint a dist tartalmát átmásoltam úgy futtattam.

Valakinek van valami ötlete mi lehet a baj?
Én esetleg a java környezet különbségre tudok max gondolni ami problémát okozhat.

Hogyan tovább?

Hozzászólások

Mssql hanyas (2000, 2005 v. 2008)? Ha jól értem a laptopon meg a szerveren is Linux van és egy másik gépen van az mssql windowson. Ugyanahhoz az mssql-hez kapcsolódsz laptopról és a szerverről is? Ha igen, akkor a telnet-es és pythonos próbát azt a laptopról indítottad vagy a szerverről?

Nem hiszem, hogy a java környezetek közötti különbség okozná.

mssql 2005-ös, és így van, a laptopon egy ubuntu, a szerveren debian sid van és ugyanahhoz a windows-hoz akarok kapcsolódni.

Természtesen a telnet/pythont a szerverről indítottam mert onnan nem megy a proggy.

Én se hiszem hogy java környezet okozná mert akkor más lenne a hiba, de egyszerűen nincs ötletem mitől lehet.

megnéztem az sqlline utillal is, ami szintén jtds-t használ, azzal is ugyanez a hiba.

Arra tudok esetleg gondolni, hogy a jtds hálózat kezelése valahogy eltér a python-os megoldástól?

A szerver egyébként a 192.168.10.200/24 -ről kapcsolódna a 192.168.10.142-re szal 1 etherneten vannak.

A kapcsolódás kódja egyébként:


     dbConnect("jdbc:jtds:sqlserver://192.168.10.142:1433/szerviz",
                "username","passwd");

    private void dbConnect(String db_connect_string,
  String db_userid, String db_password) throws IOException
    {        
        try
        {
            Class.forName("net.sourceforge.jtds.jdbc.Driver");
            conn = DriverManager.getConnection(
                db_connect_string, db_userid, db_password);
        }
        catch (Exception e)
        {
            log.getLogger().log(Level.WARNING, "Exception", e);
        }
    }

Ezzel is ugyanezt produkálja.
Először beállítottam neki a 192.168.10.142 ip-t 1433-as porttal (sql), utánna saját magát 192.168.10.200 25- ös porttal egyik se megy.

Ugyanakkor:
telnet 192.168.10.200 25
Trying 192.168.10.200...
Connected to 192.168.10.200.
Escape character is '^]'.
220 test.hu ESMTP Exim 4.72 Tue, 11 Jan 2011 22:08:26 +0100

Érthetetlen...


Exception in thread "main" java.net.ConnectException: Network is unreachable
	at java.net.PlainSocketImpl.socketConnect(Native Method)
	at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
	at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
	at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
	at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
	at java.net.Socket.connect(Socket.java:529)
	at tcp.Main.main(Main.java:24)

test:/usr/local/bin/tcp# /usr/local/src/jdk1.6.0_23/bin/java Main
Exception in thread "main" java.net.ConnectException: Network is unreachable
	at java.net.PlainSocketImpl.socketConnect(Native Method)
	at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
	at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
	at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
	at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
	at java.net.Socket.connect(Socket.java:529)
	at Main.main(Main.java:17)
test:/usr/local/bin/tcp# /usr/local/src/jdk1.6.0_23/bin/java -version
java version "1.6.0_23"
Java(TM) SE Runtime Environment (build 1.6.0_23-b05)
Java HotSpot(TM) Server VM (build 19.0-b09, mixed mode)