我正在尝试使用JDBC连接到SQL Server数据库。我使用JTDS给了一个连接字符串,但是它没有工作(I asked a question about this yesterday)所以我试图将它转换为JDBC。我能够使用SQLPro上的凭据进行连接,因此我知道凭据是好的,但它在代码中不起作用。这是我给出的JTDS连接字符串:
jdbc:jtds:sqlserver://dev.company.com:1433/master;domain=COMP;USENTLMV2=true;SSL=request
这是我的代码,试图将其转换为JDBC
String url = "jdbc:sqlserver://dev.company.com:1433;databaseName=master;domain=COMP;USENTLMV2=true;SSL=request";
String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
String userName = "COMP\\user";
String password = "s3cr3t";
Connection conn = null;
try {
Class.forName(driver).newInstance();
conn = DriverManager.getConnection(url, userName, password);
} catch (Exception e) {
e.printStackTrace();
} finally {
conn.close();
}
我下载了driver并使用了Maven安装:
mvn install:install-file -Dfile=/Users/kroe761/Documents/workspace/project/sqljdbc42.jar -DgroupId=microsoft.jdbs -DartifactId=jdbs.server -Dversion=1.0 -Dpackaging=jar
然后在我的pom文件中
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>6.1.0.jre8</version>
</dependency>
<dependency>
<groupId>microsoft.jdbs</groupId>
<artifactId>jdbs.server</artifactId>
<version>1.0</version>
</dependency>
但是,我不断收到此登录错误
com.microsoft.sqlserver.jdbc.SQLServerException: Login failed for user 'COMP\user'.
我也尝试过这样做。下载驱动程序时,我从x64文件夹中获得了sqljdbc_auth.dll
:
String url = "jdbc:sqlserver://dev.company.com:1433;databaseName=master;integratedSecurity=true";
String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
String userName = "COMP\\user";
String password = "s3cr3t";
Connection conn = null;
try {
java.lang.System.load("/Users/kroe761/Documents/workspace/project/sqljdbc_auth.dll");
Class.forName(driver).newInstance();
conn = DriverManager.getConnection(url, userName, password);
} catch (Exception e) {
e.printStackTrace();
} finally {
conn.close(); // line 26
}
但后来我得到了这个错误 - 非常无益。
Exception in thread "main" java.lang.NullPointerException
at kroe761.playground.App.main(App.java:26)