5
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@

私は Oracle g11 Release 2 を使用しており、すでにビルド パスに ojdbc.jar を含めています。接続を確立しようとすると、次のスタック トレース エラーが発生します。

java.sql.SQLException: Io 例外: 接続文字列形式が無効です。有効な形式は、oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134) の「host:port:sid」です。 oracle.jdbc.driver.OracleConnection の oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:333) の DBError.throwSqlException(DBError.java:179)。 OracleDriver.getConnectionInstance(OracleDriver.java:468) at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:314) at java.sql.DriverManager.getConnection(Unknown Source) at java.sql.DriverManager.getConnection(Unknown Source) ) com.adobe.daoimpl.DBimplementation.registration(DBimplementation.java:21) で com.adobe で com.adobe.util.DBConnection$DBUtil.getConnection(DBConnection.java:23) でservice.AdobeService.registration(AdobeService.java:13) で webservice.Web.service(Web.java:16) で sun.reflect.NativeMethodAccessorImpl.invoke0(ネイティブ メソッド) で sun.reflect.NativeMethodAccessorImpl.invoke(不明なソース) でorg.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:397) の java.lang.reflect.Method.invoke(不明なソース) の sun.reflect.DelegatingMethodAccessorImpl.invoke(不明なソース) org.apache .axis.providers.java.RPCProvider.processMessage(RPCProvider.java:186) org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323) org.apache.axis.strategies.InvocationStrategy.visit (InvocationStrategy.java:32) org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118) で org.apache.axis.SimpleChain.invoke(SimpleChain.java:83) で org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:454) org.apache.axis.server.AxisServer.invoke(AxisServer.java:281) org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet. java:699) で javax.servlet.http.HttpServlet.service(HttpServlet.java:647) で org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327) で javax.servlet.http.HttpServlet org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) の .service(HttpServlet.java:728)AxisServletBase.service(AxisServletBase.java:327) at javax.servlet.http.HttpServlet.service(HttpServlet.java:728) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)AxisServletBase.service(AxisServletBase.java:327) at javax.servlet.http.HttpServlet.service(HttpServlet.java:728) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)

前もって感謝します

4

6 に答える 6

7

次を使用してこの問題を解決しました。jdbc:oracle:thin:@//ipadress:portnumber/service_name

于 2016-05-31T13:27:58.937 に答える
4

接続文字列の末尾に SID (またはサービス名) がありません。

「host:port:sid」である必要があります

于 2012-12-02T09:08:02.027 に答える
2

そのはず

文字列 url=" jdbc:oracle:thin:@Localhost:1521:XE";

于 2015-01-13T10:00:26.950 に答える
1

SID接続文字列にデータベースを追加します。

String url="jdbc:oracle:thin:@localhost:1521:SID_GOES_HERE";
于 2012-12-02T09:09:20.897 に答える
1

SID はおそらく XE であるため、jdbc:oracle:thin:Localhost:1521:XE である必要があります。

于 2012-12-02T10:56:22.773 に答える