2

从我读到的 jTDS 的正确连接字符串是:

jdbc:jtds:<server_type>://<server>[:<port>][/<database>]

我相信问题是服务器名称。服务器名称的格式如下

servername\adhoc

每当我尝试连接说“未知的服务器主机名”时都会引发 SQLException

这是我的问题,还是我还需要研究其他什么...?

import java.sql.*;

public class Main {

  // The JDBC Connector Class.
  private static final String MSdbClassName = "net.sourceforge.jtds.jdbc.Driver";
  private static final String MSHOST = "servername\\adhoc";  //cascrmeufosqlp1\adhoc
  private static final String MSDATABASE = "tier2";
  private static final String MSUSER = "feed_****2";
  private static final String MSPASSWORD = "*******0";

  public static void main(String[] args) throws ClassNotFoundException,SQLException
  {
    Class.forName(MSdbClassName);
    String url2 = "jdbc:jtds:sqlserver://" + MSHOST + ":1433/" + MSDATABASE;
    Connection c2 = java.sql.DriverManager.getConnection( url2, MSUSER, MSPASSWORD );
    System.out.println("MS SQL works...");
    c2.close();
  }
}
4

1 回答 1

2

看起来您正在尝试连接到 sql server 的“命名实例”。您将需要在 url 中使用“instance”属性。像这样的东西可能会起作用:

jdbc:jtds:sqlserver://servername:1433/dbName;appName=MyAPP;instance=instanceName

有关更多信息,请参阅 jTDS 常见问题解答:http: //jtds.sourceforge.net/faq.html

于 2010-11-09T02:30:12.680 回答