python cx_oracle和服务器信息

jho*_*ith 7 python cx-oracle

为了演示Oracle的安全特性,当用户会话尚未建立时,必须调用OCIServerVersion()OCIServerRelease().

虽然有数据库参数sec_return_server_release_banner = false.我正在使用Python cx_Oracle模块,但我不确定如何在建立连接之前获取服务器版本.有任何想法吗?

小智 0

取决于您的软件架构和您准备跨平台的意图。

cx_Oracle 依赖于 Oracle 客户端。所以您确定已知路径上有 Oracle 客户端。即使您不想使用 Oracle 客户端进行常规会话,您也可以使用它对服务器进行初步检查。

在 linux/unix 上,您可以在子进程中运行以下代码:

sqlplus user/pasword@INSTANCE <<< "quit"| grep "Oracle Database"| head -n 1 
Run Code Online (Sandbox Code Playgroud)

Grep 和其他处理可以在您的代码中完成,并且在 Windows 中这是必要的。通过代码您将获得Oracle的版本,并且您将知道连接信息是否正确。