Reputation: 1615
here is my java code
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]
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
Upvotes: 6
Views: 43062
Reputation: 12902
This answer is a "bit" late, but the accepted answer is not correct, so I post this for anybody unfortunate enough to attempt to copy/paste the code and wondering what went wrong.
The accepted answer is so far correct that
oracle.jdbc.driver.OracleDriver
is deprecated, but it is still working in 2020. The problem with the posted code is that the properties file is using semicolons and quotation marks, which are not valid. So changing the properties file from
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";
to
DB_DRIVER = oracle.jdbc.driver.OracleDriver
DB_CONNECTION2 = jdbc:oracle:thin:@10.2.5.23:1521:dbslic
DB_USER = SR_MOBILE
DB_PASSWORD = TSR_MOBILE
makes the error go away.
Upvotes: 0
Reputation: 12983
You are using wrong package to refer OracleDriver
class
Change
oracle.jdbc.driver.OracleDriver
To
oracle.jdbc.OracleDriver
From oracle docs class definition
public class OracleDriver
extends oracle.jdbc.driver.OracleDriver
The Oracle JDBC driver class that implements the java.sql.Driver
interface.
Upvotes: 13
Reputation: 21883
Use this as Oracle Driver
oracle.jdbc.OracleDriver
instead of
oracle.jdbc.driver.OracleDriver
Upvotes: 5