防止SQL注入
一、使用参数化输入。存储过程里尽量避免语句拼接。
二、对于一些数据库,必须设置权限,甚至设置到字段。
三、始终通过测试类型、长度、格式和范围来验证用户输入。
四、过滤敏感字符。
Function ReplaceStr(Str)
Str=Trim(Str)
Str=Replace(Str,"'","'")
Str=Replace(Str,";",";")
Str=Replace(Str," "," ")
Str=Replace(Str,"""","”")
Str=Replace(Str,"%","")
Str=Replace(Str,"__","")
Str=Replace(Str,"--","--")
Str=Replace(Str,"\","\")
Str=Replace(Str,"?","")
Str=Replace(Str,vbcrlf,"<br>")
Str=Replace(str,"0x0020","")
ReplaceStr=Str
End Function
相关文档:
(1)关于存储过程返回值问题(output,ruturn)
output存储过程:
alter proc usp_update
@count int output
as
set @count=(select count(*) from stu)
return存储过程:
alter proc usp_update
as
declare @count int
set @count=(select count(*) from stu)
r ......
1、PL/SQL
Developer记住登陆密码
在使用PL/SQL
Developer时,为了工作方便希望PL/SQL
Developer记住登录Oracle的用户名和密码;
设置方法:PL/SQL
Developer 7.1.2
->tools->Preferences->Oracle->Logon History , “Store
history”是默认勾选的,勾上&ldqu ......
1. SQL优化的原则是:
将一次操作需要读取的BLOCK数减到最低,即在最短的时间达到最大的数据吞吐量。
调整不良SQL通常可以从以下几点切入:
检查不良的SQL,考虑其写法是否还有可优化内容
检查子查询 考虑SQL子查询是否可以用简单连接的方式进行重新书写  ......
/*
--作用:SQL SERVER操作ACCESS的存储过程
----------------------用法-------------------------------
--创建表tc
exec sp_operate_access 'create table tc(id int)','c:\db1.mdb'
go
--在tc表插入数据
exec sp_operate_access 'insert into tc(id) values(1)','c:\db1.mdb'
go
--删除tc表的数据
exec sp_op ......
如果我们的SQL Server要保证高可用性,那么可以采用故障转移群集。最简单的故障转移群集是两台服务器,一台做活动的服务器,另一台做备用服务器,这就是AP模式的Cluster。另外一个模式就是AA模式,也就是两台服务器都是运行SQL Server实例。
SQL Server不像Oracle一样有RAC,所以不可能说两台服务器同时运行同一个实例,想 ......