我写了下面这行代码来连接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应用您的设置并关闭对话框。
在那之后,连接也给出了同样的异常。
发布于 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字符串中。它在运行时只打印一个反斜杠,因为它是一个转义序列。
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();
}
}
};发布于 2012-04-15 21:21:41
尝试使用本地计算机的IP地址,而不是localhost。
发布于 2016-02-09 21:43:09
对于SQL Server > 2005,您还必须启动Sql Server Browser服务。
我已经用Sql Server2014Express成功地测试了JBoss 7。操作系统: Windows 7.我必须为Sql Server执行的设置:
用于servername
- _Sql Server (servername)_
- _Sql Server Browser_
我没有使用端口,也没有在URL中使用本地机器名。
https://stackoverflow.com/questions/9256044
复制相似问题