Java连接到远程MS SQL服务器数据库
问题描述:
我试图使用提供的connection string
连接到远程MS SQL服务器上的数据库。连接字符串如下:Java连接到远程MS SQL服务器数据库
data source=qsss.gar.de\SQL2012,3000;initial catalog=City;persist security info=True;user id=usr;password=usr##2009;
我明白我应该有适当的司机,所以我从microsoft.com/download/en/details.aspx?id=21599 下载在SQL Server驱动程序,并将它们添加到我的项目的构建路径。这些是sqljdbc.jar
和sqljdbc4.jar
。
我只是使用这个测试代码来查看连接是否建立。
public static void main(String[] args) throws Exception {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
Connection connection = DriverManager.getConnection(
"qsss.gar.de\SQL2012,3000;initial catalog=City;persist security info=True;user id=usr;password=usr##2009;");
System.out.println("Connected!");
}
这样做,我得到一个错误:的Java Runtime Environment(JRE)1.8版本不受此驱动程序支持。使用sqljdbc4.jar类库,它提供对JDBC 4.0的支持。
我在这里做错了什么?
答
不要将两个jar都添加到类路径中,因为它们都包含com.microsoft.sqlserver.jdbc.SQLServerDriver
-class,并且在您的情况下程序会从sqljdbc.jar
加载一个。从你的类路径中删除sqljdbc.jar
,只添加sqljdbc4.jar
,这样你的程序将永远加载正确的驱动程序版本。