如何通过 OCI 设置 V$SESSION.PROGRAM?
How to set V$SESSION.PROGRAM via OCI?
使用 JDBC 瘦客户端,客户端可以配置 V$SESSION
视图的 PROGRAM
列中显示的内容(这是通过设置 CONNECTION_PROPERTY_THIN_VSESSION_PROGRAM
连接 属性).
使用 OCI 的 C 程序是否有类似的功能?
有一些方法可以使用 session handle 设置 CLIENT_INFO
、MODULE
和 ACTION
以及 V$SESSION_CONNECT_INFO.DRIVER_INFO
,但我找不到 PROGRAM
.
我没试过,但是 here's an archived blog post(带有示例 C 代码)关于这个主题。作者说您可以通过在程序的早期覆盖 argv[0]
来实现,OCI 会将该程序名称发送到服务器,例如
prglen = strlen(argv[0]);
strncpy(argv[0], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", prglen);
使用 JDBC 瘦客户端,客户端可以配置 V$SESSION
视图的 PROGRAM
列中显示的内容(这是通过设置 CONNECTION_PROPERTY_THIN_VSESSION_PROGRAM
连接 属性).
使用 OCI 的 C 程序是否有类似的功能?
有一些方法可以使用 session handle 设置 CLIENT_INFO
、MODULE
和 ACTION
以及 V$SESSION_CONNECT_INFO.DRIVER_INFO
,但我找不到 PROGRAM
.
我没试过,但是 here's an archived blog post(带有示例 C 代码)关于这个主题。作者说您可以通过在程序的早期覆盖 argv[0]
来实现,OCI 会将该程序名称发送到服务器,例如
prglen = strlen(argv[0]);
strncpy(argv[0], "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", prglen);