无法用java连接到sql server
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法用java连接到sql server相关的知识,希望对你有一定的参考价值。
我正在尝试使用Java和Microsoft SQL Server连接到本地sql服务器。我正在使用sql server auth。
这是代码:
import java.sql.*;
public class Main {
public static void main(String[] args) {
String userName ="testlogin2";
String password ="pass";
String url ="jdbc:sqlserver://localhost/LabNoteMap;integratedSecurity=true;"; //LabNoteMap beeing target db
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection conn = DriverManager.getConnection(url, userName, password);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
System.out.println("end");
}
}
和堆栈跟踪:
"C:Program FilesJavajdk-9injava" "-javaagent:C:Program FilesJetBrainsIntelliJ IDEA 2017.2.5libidea_rt.jar=63510:C:Program FilesJetBrainsIntelliJ IDEA 2017.2.5in" -Dfile.encoding=UTF-8 -classpath C:UsersDeusIdeaProjects estmysqloutproduction estMYSQL;C:UsersDeusDesktopjdbcsqljdbc_6.0enujre8sqljdbc42.jar Main
end
com.microsoft.sqlserver.jdbc.SQLServerException: The TCP/IP connection to the host localhost/LabNoteMap, port 1433 has failed. Error: "localhost/LabNoteMap. Verify the connection properties. Make sure that an instance of SQL Server is running on the host and accepting TCP/IP connections at the port. Make sure that TCP connections to the port are not blocked by a firewall.".
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:191)
at com.microsoft.sqlserver.jdbc.SQLServerException.ConvertConnectExceptionToSQLServerException(SQLServerException.java:242)
at com.microsoft.sqlserver.jdbc.SocketFinder.findSocket(IOBuffer.java:2369)
at com.microsoft.sqlserver.jdbc.TDSChannel.open(IOBuffer.java:551)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1963)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:1628)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:1459)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:773)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1168)
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:678)
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:229)
at Main.main(Main.java:13)
Process finished with exit code 0
还有一些ss:
另请注意,在Sql server配置中,启用了tcp / ip,并将端口设置为1433。
我想可能是防火墙?但不知道如何检查它,或者其他什么?
答案
你的连接字符串是错误的。你应该改变它
String url ="jdbc:sqlserver://localhost/LabNoteMap;integratedSecurity=true;";
至
String url ="jdbc:sqlserver://localhost;databaseName=LabNoteMap;integratedSecurity=true;";
您没有定位要建立连接的数据库。
另一答案
private static String url="jdbc:sqlserver://localhost:1433;DatabaseName = students";
我正在使用msbase.jar和mssqlserver.jar以及msutil.jar,也许你使用了错误的jar或你的url是错的(DatabaseName =?)
以上是关于无法用java连接到sql server的主要内容,如果未能解决你的问题,请参考以下文章
由于登录失败错误,无法连接到 SQL Server 数据库 [重复]
我的sql server 2008不能登录,用windows和sa都无法登录 标题: 连接到服务器 ---------------------------
连接SQL2005出现SQL Server 无法连接到服务器 提示 服务器:消息11,级别16,状态1 怎么解决啊