Python 为什么SQL命令在使用cx_oracle执行时失败,但可以手动运行?

Python 为什么SQL命令在使用cx_oracle执行时失败,但可以手动运行?,python,oracle,cx-oracle,oracle-rac,Python,Oracle,Cx Oracle,Oracle Rac,我正在进行oracle12C1 RAC设置, 我正在尝试将文件钱包迁移到HSM, 目前,我在两个节点上的sqlnet.ora如下所示: Node1: ENCRYPTION_WALLET_LOCATION = ( SOURCE =(METHOD = HSM)(METHOD_DATA = (DIRECTORY = /etc/ORACLE/WALLET/ORCL))) Node2: ENCRYPTION_WALLET_LOCATION = ( SOURCE =(METHOD = HSM)

我正在进行oracle12C1 RAC设置, 我正在尝试将文件钱包迁移到HSM, 目前,我在两个节点上的sqlnet.ora如下所示:

Node1: ENCRYPTION_WALLET_LOCATION = ( SOURCE =(METHOD = HSM)(METHOD_DATA = (DIRECTORY = /etc/ORACLE/WALLET/ORCL)))
Node2: ENCRYPTION_WALLET_LOCATION = ( SOURCE =(METHOD = HSM)
                                        (METHOD_DATA =
                                       (DIRECTORY = /etc/ORACLE/WALLET/ORCL)))
我正在尝试使用cx_Oracle将电子钱包从文件电子钱包迁移到HSM电子钱包,如下所示

ADMINISTER KEY MANAGEMENT SET ENCRYPTION KEY IDENTIFIED BY "Ssl12345#" MIGRATE USING "ssl12345" with backup
并得到以下错误

ORA-28416: specify the correct keystore in the sqlnet.ora file
如果我通过在node1上调用sqlplus来手动执行它,那么它工作得很顺利

SQL> ADMINISTER KEY MANAGEMENT SET ENCRYPTION KEY IDENTIFIED BY "Ssl12345#" MIGRATE USING "ssl12345" with backup;

keystore altered.
你能确切地告诉我这两种死刑有什么区别吗

我的努力: 我试图搜索这个特定的oracle错误,但只得到了

When migrating to HSM, the keystore specified in sqlnet.ora file should be HSM and similarly when migrating to wallet, the keystore specified in sqlnet.ora should be wallet. Check if the sqlnet.ora file configuration is correct and, if not, correct it. 

如果在第二个节点上用sqlplus执行它,它会工作吗?我想,我理解你的观点。但我没有为cx\U Oracle连接使用扫描名称。我正在从自动和手动连接到同一个节点。我收到了错误。在更改sqlnet.ora文件之前,我正在创建sqlplus连接,因此在会话中无法访问文件中的新更改。需要在“Migrate”命令之前清除sqlplus会话的缓存