请教

[复制链接]
查看11 | 回复9 | 2008-1-13 01:07:16 | 显示全部楼层 |阅读模式
在ORACLE触发器中可用
select SYS_CONTEXT('USERENV','IP_ADDRESS') FROM DUAL 获取操作数据库的IP地址,
请问在DB2中如何实现呢?
回复

使用道具 举报

千问 | 2008-1-13 01:07:16 | 显示全部楼层
最初由 linyu_@312 发布
[B]在ORACLE触发器中可用
select SYS_CONTEXT('USERENV','IP_ADDRESS') FROM DUAL 获取操作数据库的IP地址,
请问在DB2中如何实现呢? [/B]


在DB2中如何来取IP地址啊
回复

使用道具 举报

千问 | 2008-1-13 01:07:16 | 显示全部楼层
最初由 linyu_@312 发布
[B]

在DB2中如何来取IP地址啊 [/B]

我还是找不出来,在DB2中是不是不能实现呢?
回复

使用道具 举报

千问 | 2008-1-13 01:07:16 | 显示全部楼层
list application 就可以看到ip啊
回复

使用道具 举报

千问 | 2008-1-13 01:07:16 | 显示全部楼层
Application Id
的第一个点号前的字符串是16进制的IP
回复

使用道具 举报

千问 | 2008-1-13 01:07:16 | 显示全部楼层
那 DECHARE
  IP_ADDRESS VARCHAR(50)
  SET IP_ADDRESS=APPLICATION ID;
这样可以吗?
回复

使用道具 举报

千问 | 2008-1-13 01:07:16 | 显示全部楼层
这个也只能是本机的吧
对数据库操作客户端的呢,能取到吗
我要在触发器中用,要让一些IP地址传过来的数据不触发触发器
回复

使用道具 举报

千问 | 2008-1-13 01:07:16 | 显示全部楼层
db2 "select APPL_ID from table(SNAPSHOT_APPL_INFO('SAMPLE',-2)) as a"
回复

使用道具 举报

千问 | 2008-1-13 01:07:16 | 显示全部楼层
不好意思,我刚用DB2,还不太清楚
CREATE TRIGGER inserter_con AFTER insert ON TB_USER_CONTACT_CHART REFERENCING NEW AS N_ROW FOR EACH ROW MODE DB2SQL BEGINATOMIC DECLARE ip_address VARCHAR (50); SELECT APPL_ID FROM TB_USER_CONTACT_CHART(SNAPSHOT_APPL_INFO('SAMPLE',-2))as ip_address; IF ip_address= '192.168.0.151' then VALUES(rundb('TB_USER_CONTACT_CHART',N_ROW.PROJECT_ORDER||'>'||N_ROW.USER_NO,'insertdb2'));END IF;END
我这样用到我的触发器中?
回复

使用道具 举报

千问 | 2008-1-13 01:07:16 | 显示全部楼层
select出来的不是直接的 xxx.xxx.xxx.xxx的地址,是16进制的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行