学习oracle sql loader 的使用
一:sql loader 的特点
oracle自己带了很多的工具可以用来进行数据的迁移、备份和恢复等工作。但是每个工具都有自己的特点。
比如说exp和imp可以对数据库中的数据进行导出和导出的工作,是一种很好的数据库备份和恢复的工具,因此主要用在数据库的热备份和恢复方面。有着速度快,使用简单,快捷的优点;同时也有一些缺点,比如在不同版本数据库之间的导出、导入的过程之中,总会出现这样或者那样的问题,这个也许是oracle公司自己产品的兼容性的问题吧。
sql loader 工具却没有这方面的问题,它可以把一些以文本格式存放的数据顺利的导入到oracle数据库中,是一种在不同数据库之间进行数据迁移的非常方便而且通用的工具。缺点就速度比较慢,另外对blob等类型的数据就有点麻烦了。
二:sql loader 的帮助
c:\>sqlldr
sql*loader: release 9.2.0.1.0 - production on 星期六 10月 9 14:48:12 2004
copyright (c) 1982, 2002, oracle corporation. all rights reserved.
用法: sqlldr keyword=value [,keyword=value,...]
有效的关键字:
userid -- oracle username/password
control -- control file name
log -- log file name
bad -- bad file name
data -- data file name
discard -- discard file name
discardmax -- number of discards to allow (全部默认)
skip -- number of logical records to skip (默认0)
load -- number of logical records to load (全部默认)
errors -- number of errors to allow (默认50)
rows -- number of rows in conventional path bind array or between direct p
ath data saves
(默认: 常规路径 64, 所有直接路径)
bindsize -- size of conventional path bind array in bytes(默认256000)
silent -- suppress messages during run (header,feedback,errors,discards,part
itions)
direct -- use direct p
相关文档:
装了SQL2000后安装SQL2005,虽然使用别名加以区别了,但发现2005中没有可供访问的类似企业管理器,一时冲动,卸了2000,完整安装了2005,发现还是没有企业管理器,搜索过后才发现需要安装SQLServer2005_SSMSEE.msi(即SQLServerManagerStudioExpressEdition),它提供了类似企业管理器的图形化操作界面。
装好后,SQL ......
sql编译与重编译
1.sp_recompile
使存储过程和触发器在下次运行时重新编译。
2.sp_refreshview
如果视图所依赖的基础对象发生更改(如:表增加了一个字段),则视图不会自动更新,这时需要调用该存储过程来对视图进行刷新。有人说,重新打开一下视图就可以更新视图,但我试了没有成功。
例1:刷新指定名称的视图
......
配置使用 SQL Server提供程序
<configuration>
<system.web> <-- 更改提供程序配置: -->
<membership defaultProvider="AspNetSqlProvider" />
</system.web>
<membership> <--配置提供程序 -->
<prov ......
select case when b.name is null and c.name is null then '合计' when b.name is null and c.name is not null then '小计' else b.name end as mtrname,
sum(a.number),c.name as cname from x_sell a join x_material b on a.mtr=b.fid join p_organi c on c.fid=a.customer
where a.stime>'2009-10-01'
GROUP B ......
create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',
@pagesize int output,--每页显示记录条数
@currentpage int output,--第几页
@orderid nvarchar(50),--主键排序
@sort int,--排序方式,1表示升序,0表示降序排列
......