驱动加载成功,无法连接数据库,
MyEclipse中代码:
import java.sql.*;
public class JdbcTest {
public static void main(String[] args) {
try {
// 加载Oracle JDBC驱动程序
Class.forName("oracle.jdbc.driver.OracleDriver");
System.out.println("获取驱动成功");
Connection conn= DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:TEST","sys as sysdba","Hsc2000!");
System.out.println("连接到数据库成功");
//使用JDBC调用连接到一个特定的数据库服务器
if (conn != null) {
conn.close();
}
} catch (ClassNotFoundException e) {
System.out.println("无法加载Oracle JDBC驱动程序,请检查ojdbc驱动是否已正确安装到类路径中");
e.printStackTrace();
} catch (SQLException e) {
System.out.println("连接数据库时发生错误");
e.printStackTrace();
}
}
}
错误:
获取驱动成功
Exception in thread "main" java.lang.ExceptionInInitializerError
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at oracle.jdbc.driver.PhysicalConnection.<clinit>(PhysicalConnection.java:6963)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:62)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:825)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:651)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at JdbcTest.main(JdbcTest.java:9)
Caused by: javax.json.JsonException: Provider org.glassfish.json.JsonProviderImpl not found
at javax.json.spi.JsonProvider.provider(JsonProvider.java:99)
at javax.json.Json.createObjectBuilder(Json.java:299)
at javax.json.JsonValue.<clinit>(JsonValue.java:61)
... 9 more
Caused by: java.lang.ClassNotFoundException: org.glassfish.json.JsonProviderImpl
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at javax.json.spi.JsonProvider.provider(JsonProvider.java:96)
... 11 more