如何从EXPDP导出的文件里获得用户授权的SQL语句
如何从EXPDP导出的文件里获得用户授权的SQL语句
打算迁移一系统,由于是跨平台的迁移,RMAN是不能用了,考虑使用EXPDP/IMPDP来进行导入导出,导入过程发现N多用户的权限搞出了,麻烦重导是可以花时间太长,研究了一下,生成了全部的SQL的脚本。
impdp system/manager schemas=user DIRECTORY=DUMP_FILES dumpfile=ORCL.dmp sqlfile=orcl.sql
好家伙,生成文件有65M之巨,这样一条条挑还不搞死人,没关系,我们有文本编辑利器UltraEditUltraEdit
用UltraEdit打开这个SQL,
选择搜索 GRANT这个关键字,选中列出包含字符串的行,好家伙一下出来1350行,呵呵旁边有个复制到剪贴板,按一下,然后创建一个新的文件,将剪贴板的东西贴进去,哇,全部的赋权限的脚本都出来了,怎么有点错没关系,编辑一下,看看有啥问题,去掉一些错误的行,呼呼,粘到SQLPLUS里执行去吧。
相关文档:
create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',
@pagesize int output,--每页显示记录条数
@currentpage int output,--第几页
@orderid nvarchar(50),--主键排序
@sort int,--排序方式,1表示升序,0表示降序排列
......
任何一种使用数据库web程序(当然,也包括桌面程序)都有被SQL注入的风险。防止被SQL注入,最基本的方法是在代码级别就要阻止这种可能,这个网上讲的很多,我就不多说了。不过如果你拿到的是一个已经完工的产品,这个时候该如何解决呢?我介绍几种对于ASP和ASP.NET有效的防止SQL注入的方案,而且是免费的。
UrlScan 3.1
......
SQL分类:
DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE)
DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT)
DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK)
首先,简要介绍基础语句:
1、说明:创建数据库
CREATE DATABASE database-name
2、说明:删除数据库
drop database dbname ......
GROUP BY 实例
表 "Sales":
Company Amount
W3Course 6500
IBM 5500
W3Course 7300
SQL:
SELECT Company, SUM(Amount) from Sales
结果:
Company SUM(Amount)
W3Course 19300
IBM 19300
W3Course 19300
上面的代码是无效的,这是由于被返回的列没有进行部分合计。GROUP BY 子句能解决这个问题:
SELE ......
rs.open sql,conn 与conn.execute(sql)的区别
rs.open sql,conn 与conn.execute(sql)的区别
rs.open
......