window 10 下爲SQL Server 關閉防火牆

問題


在使用遠程連接數據庫的時候,經常出現連接超時,其實很大部分原因是沒有開啓TCP/IP協議,在完全開啓了這個協議的時候,剩下的可能的原因就是遠程主機的防火牆沒有爲當前數據庫開啓可用的端口。所以可能的解決方法是在防火牆中爲TCP/IP開啓端口。


方法


- 打開控制面板,進入防火牆
- 單擊右側高級設置
- 單擊右側入站規則
- 單擊左側新建規則
- 選擇端口,進入下一頁
- 選擇TCP,特定本地端口,輸入1433(或者你的默認的端口號)
- 下一步,輸入名稱(具有意義的名稱都可以)
- 完成即可


測試


win+R ->運行cmd->netstat -na ->查看你的遠程的ip:1433(端口)是否在監聽狀態 。或者直接在程序中驗證。

驗證


java中直接上代碼,看能否查到數據;


@Test
    public void ConnectSqlServer(){
        String driverName="com.microsoft.sqlserver.jdbc.SQLServerDriver";
        String dbURL="jdbc:sqlserver://192.168.0.113:1433;databaseName=ShDB";
        String userName="test";
        String userPsd="123456789";
        Connection dbCon;

        Statement st;
        ResultSet rs;
        try {
            Class.forName(driverName);
            dbCon= DriverManager.getConnection(dbURL,userName,userPsd);
            System.out.println("connect to the DataBase successfully!");
            String sql="select * from Users";
            st=dbCon.createStatement();
            rs=st.executeQuery(sql);
            while(rs.next()){
                System.out.println("Data:"+rs.getString(1));
            }
        }catch (SQLException e) {
            e.printStackTrace();
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }
發佈了34 篇原創文章 · 獲贊 30 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章