java.lang.ClassNotFoundException:com.microsoft.jdbc.sqlserver.SQLServerDriver:我加载了正确的驱动程序吗?
当我运行以下代码片段连接到数据源以通过查询获取数据时:
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 + "'";
显示此exception跟踪:
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中定义的数据库。 以下快照告诉我们:
已定义数据库和Class.forName(driver)
; 是不足够的。
您需要确保适当的数据库驱动程序jar在类路径中。
- 来自远程目录的Java Class.forName()
- 加载JDBC-ODBC驱动程序时出现exception
- 尝试使用Java连接到SQL Server 2005时出现ClassNotFoundException
- Java无法找到主类
- 如何设置rmiregistry使用的类路径?
- Java Web Start – 运行时ClassNotFoundException
- java.lang.ClassNotFoundException:org.springframework.http.converter.json.MappingJackson2HttpMessageConverter
- Wildfly 8.1 ClassNotFound org.apache.http.conn.ClientConnectionManager
- ClassNotFoundException:com.mysql.jdbc.Driver