在oracle 11G r2中连接Java瘦驱动程序时出现问题


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

最新更新