sqlserver2005 中得触发器怎么获取到jsp中得值

我在一个表中建立了一个触发器,是删除数据库中的某条信息后,另一个表中添加一条数据,该数据要获取到客户端的一个IP地址。提问怎么在sqlserver2005中得触发器中取到... 我在一个表中建立了一个触发器,是删除数据库中的某条信息后,另一个表中添加一条数据,该数据要获取到客户端的一个IP地址。提问怎么在sqlserver2005 中得触发器中取到JSP中的获取到的IP地址! 展开
 我来答
wangzhiqing999
2011-08-17 · TA获得超过1.6万个赞
知道大有可为答主
回答量:7048
采纳率:100%
帮助的人:3337万
展开全部
你要在 SQL Server 2005 里面, 获得 一个 JSP 页面的 IP 地址,恐怕有难度。
原因很简单,这个 触发器,是当你执行
DELETE FROM 表 WHERE 条件
的时候, 触发的。

你可能在 SqlCmd 里面执行这个语句,
也可能是 IIS 里面, 某个 ASPX 页面执行这个语句。
也可能是 Tomcat 或者 WebLogic 里面, 某个 JSP 页面,执行这个语句。

你要记录 那个访问 JSP 页面的 客户端的 IP地址, 只能在你 JSP 页面那里获取客户端 IP地址, 然后传递给 Web 服务器(这个步骤,应该是通过 request 那里获取,不用在页面那里写什么隐藏值的)
然后 Web 服务器在 访问 SQL Server 的时候, 写入 那个远程客户端的 IP地址信息(这个就没办法了,只能在 执行 DELETE 的时候(之前或之后,就看你的需求了), 再 INSERT 一条日志记录,包含那个 远程用户的 IP地址)。
馨鹏之恋
2011-08-17 · 超过11用户采纳过TA的回答
知道答主
回答量:134
采纳率:0%
帮助的人:79.6万
展开全部
在SQL Server 2000中,只能为针对表发出的 DML 语句(INSERT、UPDATE 和 DELETE)定义 AFTER 触发器。SQL Server 2005 可以就整个服务器或数据库的某个范围为 DDL 事件定义触发器。可以为单个 DDL 语句(例如,CREATE_TABLE)或者为一组语句(例如,DDL_DATABASE_LEVEL_EVENTS)定义 DDL 触发器。

在该触发器内部,您可以通过访问 eventdata() 函数获得与激发该触发器的事件有关的数据。该函数返回有关事件的 XML 数据。每个事件的架构都继承了 Server Events 基础架构。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式