java.lang.ClassNotFoundException:com.microsoft.jdbc.sqlserver.SQLServerDriver:我加载了正确的驱动程序吗? [英] java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver : Am I loading the right driver?
本文介绍了java.lang.ClassNotFoundException:com.microsoft.jdbc.sqlserver.SQLServerDriver:我加载了正确的驱动程序吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
当我运行以下代码片段连接到数据源以通过查询获取数据时:
When I run the following snippet to connect to datasource to get the data out through queries :
try {
String driver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
Class.forName(driver);
String Url = "jdbc:sqlserver://localhost:1433;databaseName=movies";
Connection connection = DriverManager.getConnection(Url,"sa", "xxxxxxx);
// Context initContext = new InitialContext();
// Context envContext = (Context)initContext.lookup("java:comp/env");
// DataSource ds = (DataSource)envContext.lookup("");
// Connection connection = ds.getConnection();
String query_name = "select name from list where name='" + data + "'";
此异常跟踪显示:
java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at gui.MainGui.startSqlServerDataSearch(MainGui.java:148)
at gui.MainGui$3.run(MainGui.java:129)
at java.lang.Thread.run(Thread.java:619)
为什么我得到这个例外?我已经连接到sql server(通过加载这里)并且可以看到sql server中定义的数据库。以下快照告诉我们:
Why am I getting this exception ? I have already made a connection to the sql server (by loading the drivers as given here) and can see the database defined in sql server. The following snapshot tells this :
推荐答案
已定义数据库且 Class.forName(驱动程序)
;是不够的。
Having database defined and Class.forName(driver)
; is not enough.
您需要确保适当的数据库驱动程序jar 在类路径中。
You need to make sure appropriate database driver jar is in classpath.
这篇关于java.lang.ClassNotFoundException:com.microsoft.jdbc.sqlserver.SQLServerDriver:我加载了正确的驱动程序吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文