sqlserver2005 中得触发器怎么获取到jsp中得值
我在一个表中建立了一个触发器,是删除数据库中的某条信息后,另一个表中添加一条数据,该数据要获取到客户端的一个IP地址。提问怎么在sqlserver2005中得触发器中取到...
我在一个表中建立了一个触发器,是删除数据库中的某条信息后,另一个表中添加一条数据,该数据要获取到客户端的一个IP地址。提问怎么在sqlserver2005 中得触发器中取到JSP中的获取到的IP地址!
展开
2个回答
展开全部
你要在 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地址)。
原因很简单,这个 触发器,是当你执行
DELETE FROM 表 WHERE 条件
的时候, 触发的。
你可能在 SqlCmd 里面执行这个语句,
也可能是 IIS 里面, 某个 ASPX 页面执行这个语句。
也可能是 Tomcat 或者 WebLogic 里面, 某个 JSP 页面,执行这个语句。
你要记录 那个访问 JSP 页面的 客户端的 IP地址, 只能在你 JSP 页面那里获取客户端 IP地址, 然后传递给 Web 服务器(这个步骤,应该是通过 request 那里获取,不用在页面那里写什么隐藏值的)
然后 Web 服务器在 访问 SQL Server 的时候, 写入 那个远程客户端的 IP地址信息(这个就没办法了,只能在 执行 DELETE 的时候(之前或之后,就看你的需求了), 再 INSERT 一条日志记录,包含那个 远程用户的 IP地址)。
展开全部
在SQL Server 2000中,只能为针对表发出的 DML 语句(INSERT、UPDATE 和 DELETE)定义 AFTER 触发器。SQL Server 2005 可以就整个服务器或数据库的某个范围为 DDL 事件定义触发器。可以为单个 DDL 语句(例如,CREATE_TABLE)或者为一组语句(例如,DDL_DATABASE_LEVEL_EVENTS)定义 DDL 触发器。
在该触发器内部,您可以通过访问 eventdata() 函数获得与激发该触发器的事件有关的数据。该函数返回有关事件的 XML 数据。每个事件的架构都继承了 Server Events 基础架构。
在该触发器内部,您可以通过访问 eventdata() 函数获得与激发该触发器的事件有关的数据。该函数返回有关事件的 XML 数据。每个事件的架构都继承了 Server Events 基础架构。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询