根据我的阅读,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();
}
}
答案 0 :(得分:2)
看起来你正在尝试连接到sql server的“命名实例”。您需要在URL中使用“instance”属性。这样的事情可能有用:
jdbc:jtds:sqlserver://servername:1433/dbName;appName=MyAPP;instance=instanceName
有关详细信息,请参阅jTDS常见问题解答:http://jtds.sourceforge.net/faq.html