create connection SQLException, url: jdbc:oracle:thin:@localhost:1521/orcl, errorCode 28040, state 99999
时间: 2024-06-14 21:07:21 浏览: 224
使用JDBC连接ORACLE的三种URL格式
根据提供的引用内容,您遇到的错误是ORA-28040: No matching authentication protocol。这个错误通常是由于客户端和服务器之间的身份验证协议不匹配导致的。解决这个问题的方法是更新客户端的身份验证协议,使其与服务器匹配。
以下是解决这个问题的步骤:
1. 打开SQL*Plus命令行工具。
2. 使用sysdba权限登录到数据库:
```shell
sqlplus / as sysdba
```
3. 运行以下命令来查看当前的身份验证协议:
```sql
SELECT name, value FROM v$parameter WHERE name = 'sqlnet.allowed_logon_version';
```
4. 如果当前的身份验证协议不是与服务器匹配的版本,可以使用以下命令来更新它:
```sql
ALTER SYSTEM SET sqlnet.allowed_logon_version = <匹配的版本> SCOPE=SPFILE;
```
请将`<匹配的版本>`替换为与服务器匹配的版本号。例如,如果服务器使用的是12c版本的身份验证协议,可以将命令修改为:
```sql
ALTER SYSTEM SET sqlnet.allowed_logon_version = 12 SCOPE=SPFILE;
```
5. 重启数据库以使更改生效:
```shell
SHUTDOWN IMMEDIATE;
STARTUP;
```
6. 现在您应该能够成功连接到数据库了。
阅读全文