我正在使用服务器的putty会话连接到oracle SQL plus,并执行以下查询以获取主机名和ip地址。
这些查询检索应用服务器的主机名和IP地址,但我的要求是让用户的笔记本电脑主机名和IP地址知道用户的主机名和IP地址,而不是服务器主机名和ip地址。
是否有人可以帮助获取用户(笔记本电脑)主机名和IP地址,而不是服务器主机名和ip地址?
select SYS_CONTEXT('USERENV', 'HOST', 15) INTO v_host from dual;
select SYS_CONTEXT('USERENV', 'IP_ADDRESS', 15) INTO v_ipaddress from dual;发布于 2018-08-09 14:40:09
从dual中选择SYS_CONTEXT('USERENV','IP_ADDRESS')
您可以使用上面的查询来获取客户端的IP地址。
发布于 2018-08-09 02:56:15
我认为这是不可能的,因为Oracle Sql*plus没有关于您的putty客户端的信息。
因此,对于Oracle Db,客户端就是发起Sql*plus调用的Application Server表单。
您可以做的一件事是设置client_info,并使用额外的信息来确定真正的客户端。
类似这样的内容(在sql脚本中)
DBMS_APPLICATION_INFO.set_client_info(client_info => '&1');
在这种情况下,您应该将sql客户端值($SSH_CLIENT环境变量)传递给putty's脚本:
sqlplus -S user/password@host << EOF
@/opt/D2RQ/file.sql $SSH_CLIENT
exit;
EOFhttps://stackoverflow.com/questions/51750039
复制相似问题