public static Connection getConnection()throws SQLException,ClassNotFoundException
{ String username="scott";
String password="tiger";
String url="jdbc:oracle:thin:@localhost:1521";
Connection connection = null;
System.out.println("before class");
Class.forName("oracle.jdbc.OracleDriver");
System.out.println("Before connection");
connection=DriverManager.getConnection(url,username,password);
System.out.println("CONNECTED");
return connection;
}
连接名称:orcl用户名:scott密码:tiger连接详细信息:scott@
我使用的是Oracleg11Release 2,并且我已经在构建路径中包含了ojdbc.jar。当试图建立连接时,我得到以下堆栈跟踪错误:
java.sql.SQLException:Io异常:无效的连接字符串格式,有效的格式为:"host:port:sid"位于的oracle.jdbc.dbaccess.DBError.tthrowSqlException(DBError.java:134)位于的oracle.jdbc.dbaccess.DBError.tthrowSqlException(DBError.java:179)位于的oracle.jdbc.dbaccess.DBError.tthrowSqlException(DBError.java:333)oracle.jdbc.driver.OracleConnection.(OracleConnection.java:404)在oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.java:468)位于oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:314)位于的java.sql.DriverManager.getConnection(未知源)位于的java.sql.DriverManager.getConnection(未知源)com.adobe.util.DBConnection$DBUtil.getConnection(DBConnection.java:23)在com.adobe.daoimpl.DBimplementation.registration(DBimplemention.java:21)网址:com.adobe.service.AdobeService.registration(AdobeService.java:13)在webservice上。Web服务(Web.java:16)位于的sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)位于的sun.reflect.NativeMethodAccessorImpl.invoke(未知源)位于的sun.reflect.DelegatingMethodAccessorImpl.invoke(未知源)位于的java.lang.reflect.Method.ioke(未知源)org.apache.axis.provider.java.RPCProvider.invokeMethod(RPCProvider.java:397)在org.apache.axis.provider.java.RPCProvider.processMessage(RPCProvider.java:186)在org.apache.axis.providers.java.Provider.invoke(JavaProvider.java:323)在org.apache.aaxis.strategies.InvocationStrategy。访问(InvocationStrategy。java:32)网址:org.apache.aaxis.SimpleChain.doVisiting(SimpleChain.java:118)org.apache.aaxis.SimpleChain.invoke(SimpleChain.java:83)org.apache.axis.handlers.soap.SOAPService.ioke(SOAPService.java:454)位于org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)位于org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
提前感谢
刚刚通过使用:jdbc:oracle:thin:@//ipadress:portnumber/service_name
解决了这个问题
连接字符串末尾缺少SID(或服务名称)。
它必须是"host:port:sid">
它应该是
字符串url="jdbc:oracle:shin:@Localhost:1521:XE";
在连接字符串中添加数据库SID
。
String url="jdbc:oracle:thin:@localhost:1521:SID_GOES_HERE";
您的SID可能是XE,所以它应该是jdbc:oracle:shin:Localhost:1521:XE
我遇到了同样的问题,同样的错误:
java.sql.SQLException: Io exception: Invalid connection string format, a valid format is: "host:port:sid"
我通过更新JDBC驱动程序解决了这个问题。在我的特殊情况下,从ojdbc7.jar到ojdbc8-12.2.0.1.jar