cx_Oracle 中的应用程序名称
Application name in cx_Oracle
我正在使用来自 cx_Oracle 的 SessionPool 连接到 Oracle 数据库服务器。当我查看 Oracle 开发人员中打开的会话的描述时,我看到它的名称是“python.exe”。如何在 cx_oracle 中设置 application/module 名称?
您可以物理重命名 python.exe,但没有编程方式来更改 Oracle 数据库中显示为可执行文件的内容。
您可以通过调用cx_Oracle.init_oracle_client
来设置驱动名称。这会更改 V$SESSION_CONNECT_INFO.
的 CLIENT_DRIVER 列
文档中显示了其他可设置的属性,包括 'module'(在 Oracle 术语中不是程序名称)Oracle Database End-to-End Tracing。
# Set the tracing metadata
connection.client_identifier = "pythonuser"
connection.action = "Query Session tracing parameters"
connection.module = "End-to-end Demo"
for row in cursor.execute("""
SELECT username, client_identifier, module, action
FROM V$SESSION
WHERE username = 'SYSTEM'"""):
print(row)
我正在使用来自 cx_Oracle 的 SessionPool 连接到 Oracle 数据库服务器。当我查看 Oracle 开发人员中打开的会话的描述时,我看到它的名称是“python.exe”。如何在 cx_oracle 中设置 application/module 名称?
您可以物理重命名 python.exe,但没有编程方式来更改 Oracle 数据库中显示为可执行文件的内容。
您可以通过调用cx_Oracle.init_oracle_client
来设置驱动名称。这会更改 V$SESSION_CONNECT_INFO.
文档中显示了其他可设置的属性,包括 'module'(在 Oracle 术语中不是程序名称)Oracle Database End-to-End Tracing。
# Set the tracing metadata
connection.client_identifier = "pythonuser"
connection.action = "Query Session tracing parameters"
connection.module = "End-to-end Demo"
for row in cursor.execute("""
SELECT username, client_identifier, module, action
FROM V$SESSION
WHERE username = 'SYSTEM'"""):
print(row)