无法将Java应用程序连接到SQL Server数据库
问题描述:
我正在尝试编写一个Java桌面应用程序,该应用程序可以连接到使用Microsoft SQL Server Manager创建的数据库,以便查看和更新它。但是,我无法使连接工作。我已经阅读了一堆关于类似问题的Stack Exchange上的教程和线程,我不确定我做错了什么。无法将Java应用程序连接到SQL Server数据库
使用Windows身份验证将服务器称为“SQLEXPRESS”。我下载了在这里找到的JDBC驱动程序:https://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=11774通过转到“Services-Databases(右键单击)-New Connection-Add”将其安装到NetBeans中,但我还将其作为库添加到了我的项目中。
当我尝试这个代码,我得到的是TCP/IP连接失败或者异常,因为服务器没有运行或端口1433被锁定:
try{
String
URL="jdbc:sqlserver://sqlexpress:1433;DatabaseName=GreenhouseManagement";
Connection conn = DriverManager.getConnection(URL,"","");
System.out.println("connected");
}catch(Exception e){
System.out.println("Oops\n"+e);
}
什么我需要改变,以解决这个?
答
您可能需要将连接字符串重新配置为此格式。 jdbc:microsoft:sqlserver:// HOST:1433; DatabaseName = DATABASE
因为您在本地计算机上连接,所以在这种情况下HOST很可能是“本地主机”。 DATABASE将数据库的名称
参考:http://alvinalexander.com/java/jdbc-connection-string-mysql-postgresql-sqlserver
您应该看到[这](http://stackoverflow.com/questions/18981279/the-tcp-ip-connection-to-the- host-localhost-port-1433-has-failed),也是[this](http://stackoverflow.com/questions/18841744/jdbc-connection-failed-error-tcp-ip-connection-to-host-failed) –
这个数据库在本地机器上吗?你的网络上有一个名为**'sqlexpress'的节点吗? –