0

我安装了 XE 18c,并与 SQL Developer 建立了联系。我创建了与 Pentaho PDI 的连接,但出现此错误:

Error connecting to database [Localhost] :org.pentaho.di.core.exception.KettleDatabaseException:
Error occurred while trying to connect to the database
Error connecting to database: (using class oracle.jdbc.driver.OracleDriver)
ORA-01017: nom utilisateur/mot de passe non valide ; connexion refusée
org.pentaho.di.core.exception.KettleDatabaseException:
Error occurred while trying to connect to the database
Error connecting to database: (using class oracle.jdbc.driver.OracleDriver)
ORA-01017: nom utilisateur/mot de passe non valide ; connexion refusée

我添加到 C:\app\myuser\product\18.0.0\dbhomeXE\network\admin\sqlnet.ora 这行:

SQLNET.ALLOWED_LOGON_VERSION=8
SQLNET.ALLOWED_LOGON_VERSION_CLIENT = 8
SQLNET.ALLOWED_LOGON_VERSION_SERVER = 8

我添加到 C:...\PDI\data-integration\lib 这个文件:

ojdbc6.jar; ojdbc7.jar; ojdbc8.jar

在连接中,我将数据库名称从XE更改为/XE

总是这个错误。

4

1 回答 1

1

ORA-01017 的意思正是它所说的。无效的用户名或密码。甲骨文太愚蠢了,不能在那个问题上撒谎。您的请求实际上到达了一个 oracle 数据库(可能不是您认为的那个)并且该数据库拒绝了您的用户名和/或密码。它与 sqlnet 设置或 jar 文件无关。这是一个糟糕的用户名​​/密码,纯粹而简单。您是否检查过密码是否区分大小写?您的密码是否有一个特殊字符(如“@”)会被某个中间进程解释?例如,在命令行中使用 sqlplus 连接时,'@' 被解释为连接字符串后面的指示符。因此,命令“sqlplus myuser/P@ssword”被解释为使用密码“P”和 tns 连接字符串“ssword”。

于 2019-11-25T14:11:33.920 回答