Java 如何在MS SQL Server 2008 Express中使用MS JDBC驱动程序?
我的配置:Java 如何在MS SQL Server 2008 Express中使用MS JDBC驱动程序?,java,sql-server,jdbc,Java,Sql Server,Jdbc,我的配置: WindowsXPSP3 JDBC 2005 MS SQL Server 2008 Express,通过端口1433上的tcp/ip公开 类路径中的sqljdbc.jar 我试过: try { Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance(); con = DriverManager.getConnection("jdbc:microsoft:sqlserver:
- WindowsXPSP3
- JDBC 2005
- MS SQL Server 2008 Express,通过端口1433上的tcp/ip公开
- 类路径中的sqljdbc.jar
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
con = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433/SQLEXPRESS2008;databaseName=Test;selectMethod=cursor", "sa", "");
}
catch (Exception e) {
e.printStackTrace();
}
但它总是抛出一个例外:
java.sql.SQLException: No suitable driver
我还尝试了以下URL:
localhost:1433/SQLEXPRESS2008
localhost/SQLEXPRESS2008
localhost
同样的结果。
有什么帮助吗?您可以尝试以下方法。在我的情况下效果很好:
希望有帮助。您的URL错误 我不知道你说的“JDBC2005”是什么意思。当我浏览微软的网站时,我发现了一个叫做。你会想要它的——它包括很多修复和一些性能改进。[编辑:您可能需要最新的驱动程序。截至2012年3月,来自Microsoft的最新JDBC驱动程序是 检查发行说明。对于此驱动程序,您需要:
URL: jdbc:sqlserver://server:port;DatabaseName=dbname
Class name: com.microsoft.sqlserver.jdbc.SQLServerDriver
看起来你的类名是正确的,但是URL是错误的
Microsoft在首次发布JDBC驱动程序后更改了类名和URL。您使用的URL与Microsoft的原始JDBC驱动程序一致,MS称之为“SQL Server 2000版本”。但该驱动程序使用不同的类名
对于所有后续的驱动程序,URL更改为我在这里的表单
这在JDBC驱动程序的发行说明中。如果您的
databaseName
值正确,请使用以下命令:drivermanager.getconnection(“JDBC:sqlserver://ServerIp:1433;user=myuser;password=mypassword;databaseName=databaseName;“”
最新的JDBC MSSQL连接驱动程序可以在
类文件应该位于类路径中
右键单击项目名称-->属性-->Java生成路径-->
库-->添加外部jar
正如@Cheeso已经指出的,正确的访问方式是jdbc:sqlserver://server:port;DatabaseName=dbname
同时,请找到一个访问MSSQL DB的示例类(在我的例子中是2008)
希望这有帮助
sqljdbc4.0
)import java.sql.*;
class testmssql
{
public static void main(String args[]) throws Exception
{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection con=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;
databaseName=chapter16","sa","123");//repalce your databse name and user name
Statement st=con.createStatement();
ResultSet rs=st.executeQuery("Select * from login");//replace your table name
while(rs.next())
{
String s1=rs.getString(1);
String s2=rs.getString(2);
System.out.println("UserID:"+s1+"Password:"+s2);
}
con.close();
}
}
set classpath=C:\jdbc\sqljdbc4.jar;
如果下载和解压缩后已将jar
文件保存在C:\jdbc
中注意:反斜杠他们问的是如何使用MS驱动程序,而不是JTDS驱动程序。对不起(-1)问题不清楚说明他必须使用MS驱动程序。也许提问者不知道jTDS。一般来说,jTDS工作得更好,所以可能不是一个直接的解决方案,而是一个很好的替代方案。谢谢你们否决了一个7年前的答案。你们是冠军。是的,这个答案中的信息现在已经过时了。我建议开发人员转到MS网站并获取最新的驱动程序。同时阅读发行说明以验证类名和URL。目前它们没有更改,但检查是有意义的。添加此
microsoft:
会给我:java.sql.SQLException:找不到适合jdbc的驱动程序:microsoft:sqlserver://……
import java.sql.*;
class testmssql
{
public static void main(String args[]) throws Exception
{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection con=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;
databaseName=chapter16","sa","123");//repalce your databse name and user name
Statement st=con.createStatement();
ResultSet rs=st.executeQuery("Select * from login");//replace your table name
while(rs.next())
{
String s1=rs.getString(1);
String s2=rs.getString(2);
System.out.println("UserID:"+s1+"Password:"+s2);
}
con.close();
}
}