2012-01-26 3 views
0

Я пытаюсь подключиться к БД SQL Server на моей локальной машине, используя следующий код:Java Server подключение/SQL 2008 R2 Экспресс вопросы

import java.sql.*; 
import com.microsoft.sqlserver.jdbc.*; 
import java.sql.*; 


public class JDBConn { 

    //public class connectURL { 

     public static void main(String[] args) { 
      // Declare the JDBC objects. 
      Connection con = null; 
      Statement stmt = null; 
      ResultSet rs = null; 

      // Create a variable for the connection string. 

      //String connectionUrl = "jdbc:sqlserver://localhost;database=optRes1;integratedSecurity=true;"; 
      //con = DriverManager.getConnection(connectionUrl); 



       try { 
        // Establish the connection. 
        Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 
        String connectionUrl = "jdbc:sqlserver://localhost"; 
        con = DriverManager.getConnection(connectionUrl); 
        Statement s = con.createStatement(); 
        ResultSet r = s.executeQuery("SELECT * FROM some_table_name"); 
        while (r.next()) { 
         System.out.println(r.getString(1)); 
        } 


         // Create and execute an SQL statement that returns some data. 
         String SQL = "SELECT * from [optRes1].[dbo].[unEmpDat]"; 
         stmt = con.createStatement(); 
         rs = stmt.executeQuery(SQL); 

         // Iterate through the data in the result set and display it. 
         while (rs.next()) { 
          System.out.println(rs.getString(4) + " " + rs.getString(6)); 
         } 
       } 

      // Handle any errors that may have occurred. 
      catch (Exception e) { 
       e.printStackTrace(); 
      } 

      finally { 
       if (rs != null) try { rs.close(); } catch(Exception e) {} 
        if (stmt != null) try { stmt.close(); } catch(Exception e) {} 
        if (con != null) try { con.close(); } catch(Exception e) {} 
      } 
     } 
} 

Я получаю следующее сообщение, когда я пытаюсь подключения (я использую Eclipse в качестве IDE):

com.microsoft.sqlserver.jdbc.SQLServerException: The TCP/IP connection to the host localhost, port 1433 has failed. Error: "Connection refused: connect. Verify the connection properties, check that an instance of SQL Server is running on the host and accepting TCP/IP connections at the port, and that no firewall is blocking TCP connections to the port.". 

до сих пор, я пошел в Mgr конфигурации и активированные и включен протокол TCP/IP.

Я также включил и включил каждый IP-адрес и активировал его на вкладке «Свойства»> «IP-адреса».

Пара потенциальных проблем.

Когда я смотрю на состояние браузера SQL Server, он «остановлен». Я не уверен, если это проблема, и если да, то как это исправить.

Я использую файл sqljdbc4.jar и предоставляю его в разделе «Связанные библиотеки» проекта.

Дайте мне знать, если у вас есть предложения.

EDIT:

Я использую коробку Windows 7.

UPDATE:

>java -version 
java version "1.6.0_14" 
Java(TM) SE Runtime Environment (build 1.6.0_14-b08) 
Java HotSpot(TM) 64-Bit Server VM (build 14.0-b16, mixed mode) 
+1

Запустить сервер. –

+0

SQL Server ** Browser ** не требуется для запуска. Но с помощью JDBC-соединений проще отключить динамические порты SQL Server и заставить все сетевые интерфейсы использовать порт 1433 через приложение конфигурации SQL Server. –

+0

Мне нужно было перезапустить сервер и включить регистрацию ошибок. Окно перезапуска сервера было скрыто за некоторыми другими окнами и не увидело его. – screechOwl

ответ

1

Вы не включили какую версию JRE вы используете, но есть известная проблема между 1.6.0_29 и SQL Server 2008 документированы в Bug ID 7105007 Там же на форумах Microsoft thread тоже, что предполагает понижение до 1.6.0_27.

Вы также можете просто заменить _29's jsse.jar на номер от _27. Это в основном полезно для клиентов Mac OS, где трудно понизить рейтинг. Целевой файл: Mac HD -> System -> Library -> Java -> JavaVirtualMachines -> 1.6.0.jdk -> Contents -> Classes -> jsse.jar

Смежные вопросы