Java 没有找到适合“jdbc:oracle:thin:@**** “oracle/jdbc/driver/OracleDriver”的驱动程序;
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/19922879/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
No suitable driver found for "jdbc:oracle:thin:@**** "oracle/jdbc/driver/OracleDriver";
提问by Priyan RockZ
here is my java code
这是我的java代码
public static Map<String,String> propertyFileReader() {
Map<String, String> map=new HashMap<String, String>();
Properties prop = new Properties();
try {
InputStream inputStream = Util.class.getClassLoader().getResourceAsStream("jdbc.properties");
prop.load(inputStream);
final String DB_DRIVER= prop.getProperty("DB_DRIVER");
final String DB_CONNECTION = prop.getProperty("DB_CONNECTION2");
final String DB_USER = prop.getProperty("DB_USER");
final String DB_PASSWORD = prop.getProperty("DB_PASSWORD");
map.put("DB_DRIVER",DB_DRIVER);
map.put("DB_CONNECTION",DB_CONNECTION);
map.put("DB_USER",DB_USER);
map.put("DB_PASSWORD",DB_PASSWORD);
} catch (IOException e) {
e.printStackTrace();
}
return map;
}
private static Connection getDBConnection() {
Map<String , String > map=new HashMap<String, String>();
map=propertyFileReader();
String DB_DRIVER=map.get("DB_DRIVER");
String DB_CONNECTION= map.get("DB_CONNECTION");
String DB_USER=map.get("DB_USER");
String DB_PASSWORD=map.get("DB_PASSWORD");
Connection dbConnection = null;
try {
Class.forName(DB_DRIVER);
} catch (ClassNotFoundException e) {
System.out.println(e.getMessage());
}
try {
dbConnection = DriverManager.getConnection(DB_CONNECTION,DB_USER,DB_PASSWORD);
return dbConnection;
} catch (SQLException e) {
System.out.println(e.getMessage());
}
return dbConnection;
}
here is my properties file
这是我的属性文件
DB_DRIVER = "oracle.jdbc.driver.OracleDriver";
DB_CONNECTION2 = "jdbc:oracle:thin:@10.2.5.23:1521:dbslic";
DB_USER = "TSR_MOBILE";
DB_PASSWORD = "TSR_MOBILE";
and i added ojdbc6.jar to my buildpath [tried with ojdbc14.jar also]
我将 ojdbc6.jar 添加到我的构建路径 [也尝试使用 ojdbc14.jar]
but there is a error says like below
但有一个错误,如下所示
No suitable driver found for "jdbc:oracle:thin:@10.2.5.23:1521:dbslic";
"oracle/jdbc/driver/OracleDriver";
No suitable driver found for "jdbc:oracle:thin:@10.2.5.23:1521:dbslic";
[ERROR] Exception occurred while trying to invoke service method loginBlock
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(RPCUtil.java:212)
at org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessageReceiver.java:117)
at org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:40)
at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:114)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:181)
at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:172)
at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:146)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:643)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NullPointerException
at mainService.TSR_WEB_SERVICE.loginBlock(TSR_WEB_SERVICE.java:416)
... 25 more
please help me to sort out this issue
请帮我解决这个问题
采纳答案by Aniket Kulkarni
You are using wrong package to refer OracleDriver
class
Change
您正在使用错误的包来引用OracleDriver
类
更改
oracle.jdbc.driver.OracleDriver
To
到
oracle.jdbc.OracleDriver
From oracle docsclass definition
public class OracleDriver
extends oracle.jdbc.driver.OracleDriver
The Oracle JDBC driver class that implements the java.sql.Driver
interface.
实现java.sql.Driver
接口的 Oracle JDBC 驱动程序类。
回答by shazin
Use this as Oracle Driver
将此用作 Oracle 驱动程序
oracle.jdbc.OracleDriver
instead of
代替
oracle.jdbc.driver.OracleDriver