将java应用程序连接到外部microsoft sql server 2012

时间:2015-04-11 16:09:40

标签: java sql-server jdbc

我创建了一个SQL Server 2012数据库。我需要使用在另一台PC上创建的Java应用程序连接到数据库。这是我的代码,但我无法连接到数据库,我收到错误:“登录失败。登录来自不受信任的域,不能与Windows身份验证一起使用。” (我的代码在Java应用程序和SQL服务器在同一台PC上运行时工作)。 感谢您的帮助。

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

String jdbcUrl = "jdbc:sqlserver://THINKPADPC:1433;databaseName=TestDB;integratedSecurity=true;";

conn = DriverManager.getConnection(jdbcUrl);

2 个答案:

答案 0 :(得分:1)

您是否尝试过sql server身份验证?并传递用户名和密码。

如果您尝试使用Windows身份验证,那么它可能会从您的(java)计算机获取凭据,而该计算机尚未在托管的sql server计算机上提供访问权限。

答案 1 :(得分:0)

Please Try this Connection and Change the ip, db , sa and password.

public class ConnectionClass {
    String ip = "192.168.0.131";
    String classs = "net.sourceforge.jtds.jdbc.Driver";
    String db = "Andro";
    String un = "sa";
    String password = "Admnsql1~";
    @SuppressLint("NewApi")
    public Connection CONN() {
    StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder()
    .permitAll().build();
    StrictMode.setThreadPolicy(policy);
    Connection conn = null;
    String ConnURL = null;
    try {
    Class.forName(classs);
    ConnURL = "jdbc:jtds:sqlserver://" + ip + ";"
    + "databaseName=" + db + ";user=" + un + ";password="
    + password + ";";
    conn = DriverManager.getConnection(ConnURL);
    } catch (SQLException se) {
    Log.e("ERRO", se.getMessage());
    } catch (ClassNotFoundException e) {
    Log.e("ERRO", e.getMessage());
    } catch (Exception e) {
    Log.e("ERRO", e.getMessage());
    }
    return conn;
    }`enter code here`
}