自DB2 9.7.0.3后,DB2推出了一个参数CONNECT_PROC,能够通过这个参数来配置一个存储过程,在存储过程里面可以控制什么样的client才可以连接
这个存储过程不能带参数,存储过程不能写数据库
CREATE OR REPLACE PROCEDURE DB2INST1.CONNECT_PROCEDURE ()
LANGUAGE SQL
BEGIN
IF ( CLIENT_HOST NOT IN ('host1072.df.fdf.xxx.com','host1072'))
THEN
SIGNAL SQLSTATE '42502' SET MESSAGE_TEXT='Connection refused !';
END IF;
END@
grant execute on procedure DB2INST1.CONNECT_PROCEDURE to public
db2 update db cfg using CONNECT_PROC "DB2INST1.CONNECT_PROCEDURE"
不用重启数据库,用一个客户端连接,发现连不上了。 这个存储过程起了阻挡的作用