考试辅导

名师推荐

试听名师的课 查看所有名师

计算机等级考试辅导:登录触发器强制检查Sybase客户端的字符集合 发布时间:2010-06-29 17:30 来源:互联网

计算机等级考试辅导:登录触发器强制检查Sybase客户端的字符集合

  公司开发的某个软件升级,客户端字符集全部从cp850改为cp936。为避免未改字符集的用户误登录,写了一个登录触发器,强行进行检查。一旦发现客户端程序使用的不是cp936,强行中止会话。
  注意,登录错误信息,不会输出到客户端,而是记录在数据库系统日志中。
  /* 登录用户的缺省数据库,有时不一定是master库 */
  use master
  go
  /* 检查登录字符集的存储过程 */
  If Exists( Select 1 From sysobjects
  Where type = ’P’ and name = ’sp_checklogin’ )
  drop procedure sp_checklogin
  go
  create procedure sp_checklogin
  as
  begin
  declare @validcs varchar(100)
  declare @hostname varchar(30)
  declare @program_name varchar(30)
  declare @ipaddr varchar(64)
  select @validcs = ’cp936’,
  @hostname = hostname,
  @program_name = program_name,
  @ipaddr = ipaddr
  from master..sysprocesses
  where spid = @@spid
  if @@client_csname <> @validcs
  begin
  print "Login error: your client charset is %1!, please set it to %2!." ,
  @@client_csname, @validcs
  print "--host name: %1!", @hostname
  print "--program name: %1!", @program_name
  print "--IP address: %1!", @ipaddr
  select syb_quit()
  end
  end
  go
  /* 设置TryUser用户登录触发器的例子 */
  sp_modifylogin TryUser, ’login script’, sp_checklogin
  go

第一考试网友情提示:如果您遇到任何疑问,请登录第一考试网考试辅导频道或添加qq:,第一考试网以“为考友服务”为宗旨,秉承“快乐学习,轻松考试!”的理念,旨在为广大考友打造一个良好、温馨的学习与交流平台,欢迎持续关注。以上是小编为大家推荐的《计算机等级考试辅导:登录触发器强制检查Sybase客户端的字符集合》相关信息。

编辑推荐

计算机等级考试辅导:SQL中JOB的运行状态

计算机等级考试辅导:SQLSERVER2005的引用

三级:把数据导入不同的表空间

2009年三级信息管理技术辅导:战略数据规划

教你三种方法卸载Windows7SP1Beta