2012-02-15 19 views
-4

java.sql.SQLException:ネットワークエラーIOException:接続タイムアウト:connect at net.sourceforge.jtds.jdbc.ConnectionJDBC2。(ConnectionJDBC2.java: 410)。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 mahesh.MyFrame.connectToServer(MyFrame.java:50)at mahesh.DataCount.main(DataCount.java:18)原因:java。 net.ConnectException:接続がタイムアウトした:java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)のjava.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)のjava.net.PlainSocketImpl.socketConnect(ネイティブメソッド)に接続します。 )at java.net.PlainSock java.net.SocketSconnect.connect(Socket.java:519)at sun.reflect.NativeMethodAccessorImpl.invoke0(ネイティブ())でのjava.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)のetImpl.connect(PlainSocketImpl.java:182)メソッド)。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)... 6 moreSql Server 2005からデータを取得できません(接続タイムアウト例外)

誰もこの例外を取り除くのを助けることができますか?

ここに私のJavaコード

**にClass.forName( "net.sourceforge.jtds.jdbc.Driver")があります。

接続の接続=したDriverManager.getConnection( "JDBC:JTDS:のSQLServer:// mindmill:1433 /採用"、 "マヘシュ"、 "マヘシュ"); ** jTDS FAQ状態として

+0

フォーマット質問asak stuffoverflow format ... –

+1

http://stackoverflow.com/search?q=java.sql.SQLException%3A+Network+error+IOException%3A+Connection+timed+out%3A+connect + at + net.sourceforge.jtds.jdbc.ConnectionJDBC2 –

+0

以前はjtdsドライバでいくつか問題がありましたので、JDBC URLを投稿してください。おそらく、Sql Serverインスタンスを正しく設定していないか、インスタンスがオフになっているか、Sql ServerインスタンスのTCP/IPクライアントプロトコルが無効になっている可能性があります。 –

答えて

0

、URLが必要フォーム

あなたの接続からInfering
jdbc:jtds:<server_type>://<server>[:<port>][/<database>][;<property>=<value>[;...]] 

であること:

  • mindmillは、SQL Server 2005がINSTAあるyour_computer /サーバーの名前です。だまされた。
  • は、SQL Serverに接続するには(デフォルト)ポートである2005年
  • 採用はデータベース名です。
  • maheshは、サーバーに接続するためのユーザーとパスワードです。

ここから、他のSQL接続パラメータを設定する必要があります。

package edu.jtds.main; 

import java.sql.*; 

public class SqlServerConnTest { 

    Connection conn; 

    public void connect() { 
     try { 
      Class.forName("net.sourceforge.jtds.jdbc.Driver"); 
      String dbName = "TestDB"; 
      String user = "cajeroUpz"; 
      String password = "cajero"; 
      //the name of my SQL SERVER 2005 instance 
      String SqlServerInstance = "instance=SQL2005"; 
      String url = "jdbc:jtds:sqlserver://localhost:1433"; 
      url = url + "/" + dbName; 
      url = url + ";" + SqlServerInstance; 
      conn = DriverManager.getConnection(url, user, password); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 

    public Connection getConnection() { 
     return this.conn; 
    } 

    public static void main(String[] args) { 
     SqlServerConnTest oSqlServerConnTest = new SqlServerConnTest(); 
     oSqlServerConnTest.connect(); 
     String sql = "SELECT * FROM TEST_TABLE"; 
     Connection conn = null; 
     Statement stat = null; 
     ResultSet rs = null; 
     try { 
      conn = oSqlServerConnTest.getConnection(); 
      stat = conn.createStatement(); 
      rs = stat.executeQuery(sql); 
      while(rs.next()) { 
       System.out.println(String.format("%d %s", 
        rs.getInt(1), rs.getString(2))); 
      } 
      rs.close(); 
      stat.close(); 
      conn.close(); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 
} 

私のプログラムの出力:

1 hello world 
2 goodbye! 

ここでの教訓:私はあなたに私のコードを投稿しますSQL Server 2005と上から

  1. を、あなたが名前を設定する必要があります(上記の例のように)
  2. SQL Serverでは、TCP/IPプロトコルが有効で、通信ポートが1433であることを確認する必要があります(この最後の設定はデフォルトで設定されています)。 SQL Server 2005構成ツールでSQL Server構成管理を使用して有効/無効にすることができます。

Checking TCP/IP protocol for SQL Server 2005

その他の問題、ちょうど私に言います。

EDIT:

最良の場合は、すでにサーバーとしてあなたのPCを使用してこの接続を試みていることになるならば、私はあなたのPCを意味は、SQL Server 2005がインストールされている必要があり、インストールNetBeansのプロジェクトがすでにsettedとランニング(データベースを接続する概念の証明として)。

あなたが前に手順を実行していない場合でも、リモートサーバーに接続しようとする前に答えたはず一連の質問があります:

  1. あなたはあなたのPCとホスト間の通信を確認しましたか?あなたのケースでは、コマンドライン(Start/Run ...とタイプして 'cmd'とEnterを入力)を促し、コマンド「ping mindmill」を入力して、サーバのホスト名を確認してください。
  2. あなたのPCにSql Server Management Studioをインストールし、サーバーに接続しましたか?あなたのサーバーはリモート接続を許可していますか? Help 1
  3. ユーザーはデータベースに接続するのに十分な特権を持っていますか? Help 2

これまでにこの質問に回答した後でもう私に教えてください。

+0

の私のプロジェクトライブラリフォルダにjtds.jarを配置してから、テーブルにアクセスすることですサーバーのデータベースとそのために私はprocedure.pleaseの上、下記ていますが私を示唆して私はあなたのプロジェクトを実行しているPCには、サーバーとの接続を持っている必要があります、あなたは* **ピングでそれを試すことができ、データベースとサーバーのデータベースアクセス – mahesh

+0

の見当がつかないコンソール上の*コマンドping 192.168.1.11(サーバーからipを置き換えます)。サーバーの応答がOKであれば、[ここ](http://www.microsoft.com/downloads/es-es/details.aspx?FamilyID=C243A5AE Windows用のSQL Server Management Studioを(Express Editionを使用してSQLサーバーに接続しようとします-4BD1-4E3D-94B8-5A0F62BF7796&displaylang = es))。別の接続性の問題は、[ここ](http://stackoverflow.com/questions/2118466/connection-error-in-sql-server-2005)で扱われています。あなたのOSは何ですか? –

+0

私は今、あなたの受信トレイ:) –

関連する問題