资源描述:
《java连接oracle和sqlloader入库》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、1.Oraclesqlload入门基础学习1.1sqlloader的特点oracle自己带了很多的工具可以用来进行数据的迁移、备份和恢复等工作。但是每个工具都有自己的特点。比如说exp和imp可以对数据库中的数据进行导出和导出的工作,是一种很好的数据库备份和恢复的工具,因此主要用在数据库的热备份和恢复方面。有着速度快,使用简单,快捷的优点;同时也有一些缺点,比如在不同版本数据库之间的导出、导入的过程之中,总会出现这样或者那样的问题,这个也许是oracle公司自己产品的兼容性的问题吧。sqlloader工具却没有这方面的问题,它可以把一些以文本格式存放的数据顺利的导入到oracle数据库中,是一
2、种在不同数据库之间进行数据迁移的非常方便而且通用的工具。缺点就速度比较慢,另外对blob等类型的数据就有点麻烦了。1.2sqlloader帮助进入dos命令,输入sqlldr:C:>sqlldr,将会显示sqlloader的帮助。1.3sqlloader使用例子新建input.ctl,用文本格式编写:loaddata --1、控制文件标识infile'c:test.txt' --2、要输入的数据文件名为test.txtappendintotabletest --3、向表test中追加记录fieldsterminatedby"," --4、字段以“,”进行
3、分割取出数据(id,username,password,sj) -----定义列对应顺序新建test.txt,内容如下:id,username,password,sj1,2,3,41,2,3,41,2,3,41,2,3,41,2,3,41,2,3,41,2,3,41,2,3,4Sqlloader命令Sqlldruserid=utl/utl2011@utlcontrol=c:input.ctl注:其中Test表已存在,否则将导入失败,input.ctl和test.txt最好放同一目录下,我的是在c盘的根目录下1.4java环境下调用sqlloaderStringstrcmd="cmd/csq
4、lldruserid=utl/utl2011@utlcontrol=c:\input.ctl";Processprocess=Runtime.getRuntime().exec(strcmd);1.类ProcessProcessBuilder.start()和Runtime.exec方法创建一个本机进程,并返回Process子类的一个实例,该实例可用来控制进程并获取相关信息。Process类提供了执行从进程输入、执行输出到进程、等待进程完成、检查进程的退出状态以及销毁(杀掉)进程的方法。创建进程的方法可能无法针对某些本机平台上的特定进程很好地工作,比如,本机窗口进程,守护进程,Microso
5、ftWindows上的Win16/DOS进程,或者shell脚本。创建的子进程没有自己的终端或控制台。它的所有标准io(即stdin,stdout,stderr)操作都将通过三个流(getOutputStream(),getInputStream(),getErrorStream())重定向到父进程。父进程使用这些流来提供到子进程的输入和获得从子进程的输出。因为有些本机平台仅针对标准输入和输出流提供有限的缓冲区大小,如果读写子进程的输出流或输入流迅速出现失败,则可能导致子进程阻塞,甚至产生死锁。当没有Process对象的更多引用时,不是删掉子进程,而是继续异步执行子进程。对于带有Process
6、对象的Java进程,没有必要异步或并发执行由Process对象表示的进程。2.Myeclipse单步调试2.1单步调试的基本操作1,首先在一个java文件中设断点,然后运行,当程序走到断点处就会转到debug视图下, 2,F5键与F6键均为单步调试,F5是stepinto,也就是进入本行代码中执行,F6是stepover,也就是执行本行代码,跳到下一行,3,F7是跳出函数stepreturn4,F8是执行到最后。 2.2单步调试详解1.StepInto(alsoF5)跳入2.StepOver(alsoF6)跳过 3.StepReturn(alsoF7)执行完当前method,然后return跳
7、出此method 4.stepFilter逐步过滤一直执行直到遇到未经过滤的位置或断点(设置Filter:window-preferences-java-Debug-stepFiltering) 5.resume重新开始执行debug,一直运行直到遇到breakpoint 6.hitcount设置执行次数适合程序中的for循环(设置breakpointview-右键hitcount) 7.insp