-1

这是一个真正让我感到难过的问题,所以我想我会把它带给各位绅士/女士,看看我们是否能找到解决方案。

我正在尝试连接到 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);

Instance name = UB-TCMG 注意:[Server IP Address]后面有两个反斜杠。如果只有一个反斜杠,则将其视为转义字符。两个似乎只能算作一个。

不幸的是,我现在没有这个错误。基本上,它说“连接被拒绝:连接”

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

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

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

两个防火墙都已关闭。

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

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

4

3 回答 3

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

于 2012-12-09T04:26:20.083 回答
1

找到了解决方案。

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

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

于 2012-12-11T03:28:29.980 回答
0

试试这个可能对你有用..

 String connectionUrl = "jdbc:sqlserver://localhost;databaseName=dbname;user=uname;password=pass";
于 2012-12-09T05:20:33.120 回答