如何解决:com.microsoft.sqlserver.jdbc.SQLServerException?

时间:2013-02-15 18:04:31

标签: java sql-server

我想连接到sql server express。 我下载了this驱动程序。 我阅读了帮助文件,这是我的代码:

        try 
        {
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
            String connectionUrl = "jdbc:sqlserver://localhost;database=ActorsDb;integratedSecurity=true;";
            Connection con = DriverManager.getConnection(connectionUrl);
            PreparedStatement st = con.prepareStatement("INSERT INTO Actors(FirstName,LastName,Age) VALUES(?,?,?)");
            st.setString(1, "Robert");
            st.setString(2, "de Niro");
            st.setInt(3,45);
            st.executeUpdate();     
            con.close();
        } 
        catch (SQLException | ClassNotFoundException e) 
        {
            e.printStackTrace();
        }   

我得到了这个例外: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. Make sure that an instance of SQL Server is running on the host and accepting TCP/IP connections at the port. Make sure that TCP connections to the port are not blocked by a firewall.".

我关闭了防火墙,但没有任何改变。

  1. 我去了SQL Server配置管理器并启用了TCP / IP

  2. 我去了IP地址,IP1并设置了属性

  3. 主动:是的;启用:是; TCP动态端口:[空]; TCP端口:1433

    我缺少什么提示? 感谢。

3 个答案:

答案 0 :(得分:0)

检查SQL Server服务是否正在运行,并检查防病毒等程序是否阻止了连接。如果是,请禁用它们或向该连接添加例外。

答案 1 :(得分:0)

您在JDBC URL中使用localhost,请尝试使用您在SSCM中描述的“IP1”的IP地址。或者,验证SSCM是否配置为侦听localhost:1433。

答案 2 :(得分:0)

问题解决了。我不得不在工作目录中复制sqljdbc_auth.dll。