免责声明:我之前从未使用过SQL服务器。
我正在尝试使用java代码连接到SQL Server Express。
public class Test1 {
public static void main(String[] args) throws SQLException, ClassNotFoundException {
Class.forName("net.sourceforge.jtds.jdbc.Driver");
String url = "jdbc:jtds:sqlserver://localhost:1433/POC;instance=MOHITCH-LAPTOP/SQLEXPRESS";
String user = "admin";
String password = "admin";
Connection conn = DriverManager.getConnection(url, user, password);
Statement st = conn.createStatement ();
ResultSet rs = st.executeQuery("select * from POC.dbo.poc_table");
while (rs.next())
{
System.out.println(rs.getInt(1) + " " + rs.getString(2));
}
}
}
我得到例外:
Exception in thread "main" java.sql.SQLException: Login failed for user 'admin'.
at net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.java:372)
at net.sourceforge.jtds.jdbc.TdsCore.tdsErrorToken(TdsCore.java:2820)
at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2258)
at net.sourceforge.jtds.jdbc.TdsCore.login(TdsCore.java:603)
at net.sourceforge.jtds.jdbc.ConnectionJDBC2.<init>(ConnectionJDBC2.java:352)
at net.sourceforge.jtds.jdbc.ConnectionJDBC3.<init>(ConnectionJDBC3.java:50)
at net.sourceforge.jtds.jdbc.Driver.connect(Driver.java:185)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at my.java.Test1.main(Test1.java:16)
我还尝试使用MS SQL服务器Management Studio 2014登录。我成功做了。
这是我的数据库结构:
任何帮助都非常感谢!!
感谢
答案 0 :(得分:6)
我认为您需要修改服务器中的某些配置。
请按照以下步骤操作,希望这对您有帮助。
1. Open your SQL Server Management Studio.
2. Database server right click and go to properties.
3. Choose Security option and check SQL Server and Windows authentication mode.
4. Enable TCP/IP connection in SQL Configuration Manager.
5. Restart your SQL server service.
答案 1 :(得分:1)
首先确保SQL Browser Service正在运行 - 在Windows控制面板服务中。 如果你不能使用JTDS驱动程序,那就是微软的官方驱动程序 - 根据不同的基准测试它稍慢但是它是最全面的实现 - 你会发现JTDS存在很多问题(有些东西不支持或者根本不工作,没有人想要修复它,版本1.3在JDK6中不起作用。)
连接字符串,这就足够了(快递版本不需要实例):
jdbc:jtds:sqlserver://localhost:1433/MyDatabase
如果您使用MS驱动程序连接字符串将是:
jdbc:sqlserver://localhost:1433;databaseName=MyDatabase