首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQLServer express R2的JDBC连接Url

问SQLServer express R2的JDBC连接Url
EN

Stack Overflow用户
提问于 2012-02-13 13:36:59
回答 4查看 38.2K关注 0票数 5

我写了下面这行代码来连接sql server express r2:

连接密码"sa",“con=DriverManager.getConnection("jdbc:sqlserver://localhost/SQLEXPRESS;databaseName=abc",”);

它给出异常: com.microsoft.sqlserver.jdbc.SQLServerException:到主机localhost/SQLEXPRESS的TCP/IP连接失败,端口1433。错误:"null。请验证连接属性,检查SQL Server实例是否正在主机上运行并在该端口接受TCP/IP连接,以及没有防火墙阻止到该端口的TCP连接。“

我遵循下面这行代码来解决这个异常:

SQL Server Express的TCP/IP默认情况下,SQL Server Express的TCP/IP是禁用的,因此JDBC无法连接到它,并且您可能会收到以下异常…

网络错误IOException:连接被拒绝:连接启用TCP/IP

若要启用TCP/IP,请启动SQL Server配置管理器。

展开“SQL Server2005网络配置”节点。在右窗格中,选择SQLEXPRESS的协议。右窗格现在应该显示协议和状态列。从TCP/IP上下文菜单中选择Enable。查找或配置TCP/IP端口

启用TCP/IP后,您必须找出要使用的端口号。SQL Server Express在每次启动时都会动态分配端口,因此若要查找或配置端口号,请继续使用SQL Server配置管理器…

从TCP/IP上下文菜单中选择属性。TCP/IP属性对话框应打开。选择IP地址选项卡。在IPAll节点…中TCP动态端口字段显示当前使用的端口号。如果将该字段设置为空,则SQL Server Express在重新启动时不应自动选择其他端口。在TCP端口字段中设置所需的端口号。按OK应用您的设置并关闭对话框。

在那之后,连接也给出了同样的异常。

EN

回答 4

Stack Overflow用户

发布于 2012-07-13 23:20:03

尝试运行一些Java代码来测试它。将{computer-name}\SQLEXPRESS替换为您在SQL Server Management Studio的根节点中看到的域。在安装SQL Express时,您可以选择将"SQLEXPRESS“的名称更改为某个自定义名称,因此该名称也可能有所不同。要获取端口号,请转到Windows开始菜单> SQL Server2008TCP>配置工具> SQL Server配置管理器>展开"SQL Server网络配置“>单击”协议R2“>右键单击”IPAll/IP“并选择属性>单击"IP地址”选项卡/菜单>在Windows XP中,您将看到“TCP”。看那里的端口。它应该默认为1433。如果您有两个版本的SQL Express,那么它可能会有所不同。还要确保Windows控制面板>管理工具>服务> SQL Server (SQLEXPRESS)中的服务正在运行(状态为“已启动”)。Windows7略有不同,但你会发现它。

双反斜杠必须在Java字符串中。它在运行时只打印一个反斜杠,因为它是一个转义序列。

代码语言:javascript
复制
import java.sql.*;

public class TestConnection
{
    public static void main(String[] args)
    {
        DB db = new DB();
        db.dbConnect("jdbc:sqlserver://{computer-name}\\SQLEXPRESS:1433;databaseName=abc;integratedSecurity=true;","sa","password");
    }
}

class DB
{
    public DB() {}

    public void dbConnect(String db_connect_string, String db_userid, String db_password)
    {
        try
        {
            Connection conn = DriverManager.getConnection(db_connect_string, db_userid, db_password);
            System.out.println("connected");
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
    }
};
票数 8
EN

Stack Overflow用户

发布于 2012-04-15 21:21:41

尝试使用本地计算机的IP地址,而不是localhost。

票数 2
EN

Stack Overflow用户

发布于 2016-02-09 21:43:09

对于SQL Server > 2005,您还必须启动Sql Server Browser服务。

我已经用Sql Server2014Express成功地测试了JBoss 7。操作系统: Windows 7.我必须为Sql Server执行的设置:

用于servername

  • Stopped的
  1. 在以下两项服务中启用了TCPIP选项: SQL Server配置管理器-> Sql Server网络配置->协议并重新启动它们:

代码语言:javascript
复制
- _Sql Server (servername)_
- _Sql Server Browser_

​

我没有使用端口,也没有在URL中使用本地机器名。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9256044

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档