【问题标题】:Java connection to Windows SQL Server 2005 [closed]Java 连接到 Windows SQL Server 2005 [关闭]
【发布时间】:2012-12-09 04:20:48
【问题描述】:

这是一个让我非常头疼的问题,所以我想我会把它带给各位绅士/女士,看看我们是否能找到解决方案。

我正在尝试连接到 SQL Server 2005(MSSQLSERVER,而不是 SERVEREXPRESS 或类似的东西),我已经在我的 labtop 上运行 Windows Server 的机器上进行了设置。我的 labtop 正在使用带有 JDBC 4.0(通过 Netbeans IDE)JDK 1.7 的 java 连接字符串。它使用 Windows 身份验证。连接代码如下:

    String url;
    url = "jdbc:sqlserver://[Server IP Address]\\[Instance Name]:1433;integratedSecurity=true";
    Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    Connection conn = DriverManager.getConnection(url);

实例名称 = UB-TCMG 注意: [服务器 IP 地址] 后面有两个反斜杠。如果只有一个反斜杠,则将其视为转义字符。两个似乎只能算一个。

很遗憾,我目前没有遇到此错误。基本上,它说“连接被拒绝:连接”

在服务器端,我根据在线研究做了以下工作。在 SQL Server 配置管理器中启用 TCP/IP 端口。擦除所有动态 TCP 端口。 TCP 端口为 1433。VIA 已启用。

同样,表面区域连接已用于激活 SQL 浏览器。

从笔记本电脑使用 telnet 不允许任何连接。 在以下情况下使用服务器上的 telnet 有效: telnet [服务器实例名称] 1433

两个防火墙都已关闭。

日志说“服务器正在侦听 ['any'1433]”

我试图解决这个问题还有很多,但我真的睡着了,不记得了。您可以提出任何可以提供帮助的建议都会很棒。

【问题讨论】:

    标签: java sql sql-server database connection


    【解决方案1】:

    这就是你在 Java 中进行连接的方式

    import java.sql.*;
    
    public class testConnection
    {
        public static void main(String[] args) 
        {
            DB db = new DB();
            db.dbConnect(
         "jdbc:jtds:sqlserver://localhost:1433/tempdb","sa","");
        }
    }
    
    class DB
    {
        public DB() {}
    
        public voidn dbConnect(String db_connect_string, 
      String db_userid, String db_password)
        {
            try
            {
                Class.forName("net.sourceforge.jtds.jdbc.Driver");
                Connection conn = DriverManager.getConnection(
        db_connect_string, db_userid, db_password);
                System.out.println("connected");
    
            }
            catch (Exception e)
            {
                e.printStackTrace();
            }
        }
    };
    

    这篇文章可能会有所帮助,请访问此链接:http://www.java-tips.org/other-api-tips/jdbc/how-to-connect-microsoft-sql-server-using-jdbc.html

    【讨论】:

    • @Moiz 感谢您的快速回复。我收到此代码的连接超时错误。由于我无法远程登录到服务器,我有点怀疑问题的根源是服务器端,而不是 java 端。编辑:对不起,看来我的服务器已关闭。打开它并运行代码后,我收到以下错误:“java.sql.SQLException: Network error IOException: Connection refused: connect” Never got the network IO exception before...
    • @MatthewBreland:你检查过你的连接字符串了吗?
    • @Moiz 以什么方式?我的连接字符串与您发布的相同,除了 testdb 已替换为服务器上的实际数据库。我查了一下,服务器上注册了一个sa用户。
    【解决方案2】:

    找到了解决办法。

    问题有两个方面。一,我的笔记本电脑通过静态 IP 地址访问互联网。当我将其更改为动态时,我能够使用上述连接字符串的派生通过陆线连接到服务器。

    第二个问题与我使用的网络有关。出于某种原因,它会阻止对服务器的无线访问。这是我将通过网络的 IT 解决的问题。不过,我可以通过固定电话访问它,因为 IT 没有阻止相关端口/地址。

    【讨论】:

      【解决方案3】:

      试试这可能对你有用..

       String connectionUrl = "jdbc:sqlserver://localhost;databaseName=dbname;user=uname;password=pass";
      

      【讨论】:

      • 感谢您的回复,但不幸的是,代码只是生成“连接被拒绝:连接”错误。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-10-18
      • 1970-01-01
      • 2010-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多