据我所知,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();
}
}
最佳答案
看起来您正在尝试连接到 sql server 的“命名实例”。您将需要在 url 中使用“实例”属性。这样的事情可能会起作用:
jdbc:jtds:sqlserver://servername:1433/dbName;appName=MyAPP;instance=instanceName
有关更多信息,请参阅 jTDS 常见问题解答:http://jtds.sourceforge.net/faq.html
关于Java jTDS 连接问题 Ubuntu 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4120147/