2

私はオラクルをSpringとDBCPに接続することに慣れていません。

    <bean id="dataSource" class="org.apache.tomcat.dbcp.dbcp.BasicDataSource">
        <property name="driverClassName" value="oracle.jdbc.OracleDriver" />
        <property name="url" value="jdbc:oracle:thin:@localhost:1521/ORCL" />
        <property name="username" value="PMSYSDB" />
        <property name="password" value="********" />
    </bean>

しかし、私は得る:Could not get JDBC Connection; nested exception is org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (IO Error: The Network Adapter could not establish the connection)

このプロパティを使用して SQLDeveloper 経由で接続できます。

Hostname: localhost
Port    : 1521
SID     : ORCL
username: PMSYSDB
password:

私のデータベースは稼働中です... ファイアウォールはオフです... データベースとTomcatは同じマシン上にあります...

重要ではないと思いますが、Spring Security でデータソースを使用します。

     <authentication-manager>
         <authentication-provider>
        <jdbc-user-service data-source-ref="dataSource"

           users-by-username-query="
              select username, password, enabled 
              from users where username=?" 

           authorities-by-username-query="
              select u.username, ur.authority from users u, user_roles ur 
              where u.user_id = ur.user_id and u.username =?  " 

        />
      </authentication-provider>
    </authentication-manager>
4

3 に答える 3

5

jdbc:oracle:thin:@localhost:1521/ORCL問題は、接続文字列にこの構文を使用したことです。OracleがSIDではなくサービス名を期待した後/(ORCLは私のSIDです)。解決策は、接続リングを次のように変更することでしたjdbc:oracle:thin:@localhost:1521:ORCL

于 2012-11-08T18:12:26.100 に答える
1

データベースは、これらの種類の接続を許可しないように設定されている可能性があります。これを試して:

telnet localhost 1521

そのポートに接続できるかどうかを確認します。

于 2012-10-28T14:37:25.523 に答える
0

を変更および操作した後、リスナーを更新します。

C:\oraclexe\app\oracle\product\11.2.0\server\network\ADMIN\listener.ora

C:\oraclexe\app\oracle\product\11.2.0\server\network\ADMIN\tnsnames.ora

CMD(管理者として実行)で次のコマンドを使用してリスナーを更新することを忘れないでください。

lsnrctl stop
lsnrctl start  

この後、1 ~ 2 分待ってから [テスト] をクリックします。

于 2018-08-25T13:29:28.173 に答える