`
icheng
  • 浏览: 826777 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
文章分类
社区版块
存档分类
最新评论

oracle 文件操作封装

 
阅读更多
  1. createorreplacepackageYLFileop_packis
  2. --Author:YANLEI
  3. --Created:2008-12-2416:08:02
  4. --Purpose:文件操作包
  5. YL_DIRCONSTANTvarchar2(32):='YL_DIR';--财务表收费FormID
  6. --从后面查找
  7. functionlastindex(strinvarchar2,findstrinvarchar2)returninteger;
  8. --获得一个文件的路径
  9. functiongetpath(filenameinvarchar2)returnvarchar2;
  10. --获得一个文件的文件
  11. functiongetfilename(filenameinvarchar2)returnvarchar2;
  12. procedurewritefile(filenameinvarchar2,strinlong);
  13. functionreadfilereturnvarchar2;
  14. endYLFileop_pack;
  15. /
  16. createorreplacepackagebodyYLFileop_packis
  17. isto_fileutl_file.file_type;--如上
  18. proceduresetoraclepath(pathinvarchar2)is
  19. sqlstrvarchar2(1024);
  20. begin
  21. sqlstr:='createorreplacedirectory'||YL_DIR||'as'''||path||'''';
  22. executeimmediatesqlstr;
  23. end;
  24. --oracle字符串从后面查找byyanleigisEmail:landgis@126.com
  25. functionlastindex(strinvarchar2,findstrinvarchar2)returnintegeris
  26. iinteger;
  27. numinteger;
  28. sublninteger;
  29. begin
  30. num:=length(str);
  31. subln:=length(findstr);
  32. ifsubln>numthen
  33. return-1;
  34. endif;
  35. i:=num-subln+1;
  36. whilei>0loop
  37. ifsubstr(str,i,subln)=findstrthen
  38. returni;
  39. endif;
  40. i:=I-1;
  41. endloop;
  42. return-1;
  43. end;
  44. --获得一个文件的路径
  45. functiongetpath(filenameinvarchar2)returnvarchar2is
  46. idxinteger;
  47. begin
  48. idx:=lastindex(filename,'/');
  49. if(idx>0)then
  50. returnsubstr(filename,1,idx);
  51. endif;
  52. return'';
  53. end;
  54. --获得一个文件的文件
  55. functiongetfilename(filenameinvarchar2)returnvarchar2is
  56. idxinteger;
  57. begin
  58. idx:=lastindex(filename,'/');
  59. if(idx>0)then
  60. returnsubstr(filename,idx+1);
  61. endif;
  62. return'';
  63. end;
  64. functionopenfile(filenameinvarchar2,stateinvarchar2)returnintegeris
  65. pathvarchar2(1024);
  66. begin
  67. path:=getpath(filename);
  68. setoraclepath(path);
  69. isto_file:=utl_file.fopen(YL_DIR,getfilename(filename),state);
  70. return1;
  71. exception
  72. whenothersthen
  73. dbms_output.put_line(sqlcode||':'||sqlerrm);
  74. return0;
  75. end;
  76. functionopenfileread(filenameinvarchar2)returnintegeris
  77. begin
  78. returnopenfile(filename,'R');
  79. end;
  80. functionopenfilewrite(filenameinvarchar2)returnintegeris
  81. begin
  82. returnopenfile(filename,'W');
  83. end;
  84. procedurewriteline(strinvarchar2)is
  85. begin
  86. utl_file.put_line(isto_file,str);--写入字符串
  87. end;
  88. procedurewritelinelong(strinlong)is
  89. begin
  90. utl_file.put_line(isto_file,str);--写入字符串
  91. end;
  92. procedureclosefileis
  93. sqlstrvarchar2(1024);
  94. begin
  95. --utl_file.fflush(isto_file);--刷缓冲
  96. utl_file.fclose(isto_file);--关闭文件指针
  97. sqlstr:='dropdirectory'||YL_DIR;
  98. executeimmediatesqlstr;
  99. end;
  100. procedurewritefile(filenameinvarchar2,strinlong)is
  101. begin
  102. ifopenfilewrite(filename)>0then
  103. writelinelong(str);
  104. closefile();
  105. endif;
  106. end;
  107. functionreadlinereturnvarchar2is
  108. --读取一行放到fp_buffer变量里面
  109. fp_buffervarchar2(20000);--
  110. strvarchar2(4000);
  111. begin
  112. loop
  113. begin
  114. utl_file.get_line(isto_file,str);--读取一行放到fp_buffer变量里面
  115. fp_buffer:=fp_buffer||str;
  116. fp_buffer:=fp_buffer||chr(13);--chr(10)
  117. exception
  118. whenno_data_foundthen
  119. exit;
  120. end;
  121. endloop;
  122. returnfp_buffer;
  123. end;
  124. functionreadfilereturnvarchar2is
  125. strvarchar2(20000);
  126. begin
  127. ifopenfileread('c:/yl.w')>0then
  128. str:=readline;
  129. closefile();
  130. returnstr;
  131. endif;
  132. return'读文件失败';
  133. end;
  134. endYLFileop_pack;
  135. /
分享到:
评论

相关推荐

    如何将对ldap的操作与对oracle的操作封装在一个事务中

    如何将对ldap的操作与对oracle的操作封装在一个事务中? 如何处理分布的database,LDAP事务? 详见项目代码 其中测试文件位置:src\test\com\aua\service\impl\StudentServiceTest.java spring配置文件位置: src...

    c#oracle客户端封装oci驱动

    c#封装Oracle的oci驱动,可以直接操作Oracle。对以前的代码完善了下。由于上传大小原因,只保留了dll32里面的dll,32位系统直接复制到dll文件里面,64位系统则要下载对应的dll.

    c#Oracle客户端封装oci

    #封装Oracle的oci驱动,可以直接操作Oracle。继续对以前的代码完善了下。由于上传大小原因,只保留了dll32里面的dll,32位系统直接复制到dll文件里面,64位系统则要下载对应的dll.封装基本结束,以后有问题在继续。

    对数据库操作进行封装的java代码

    通过jdbc的方式访问数据库: 1.程序是整理的韩顺平oracle教学视频中的一个例子。 2.假设本机安装了oracle...4.程序对数据库操作进行了一定程度的封装,封装函数放在SQLHelper类中,在TestOracleCrud中对函数进行测试。

    SQL、Access、Oracle数据库操作类(C#)

    分别是SQL、Access、Oracle的操作类,这三个类都是源于微源提供的高效率源码,其中Access类经过本人修正完善,Access和SQL类函数经过扩充,使其更加符合实际开发的需要,提高开发效率,缩短开发时间。本人为政府与...

    c#全部数据操作的封装类

    c# 数据库操作的封装类,压缩包里的文件包含了所有数据库操作的封装类,很全,用取来也很方便

    thinkphp中连接oracle时封装方法无法用的解决办法

    最近收集了一些关于THinkPHP连接Oracle数据库的问题,有很多朋友按照连接mysql的方法来操作,导致有一些方法在Oreale中无法正常使用。比如说:findAll,Select方法无法使用,获取不到需要的数据。Create和add方法...

    C#官方通用类库及通用数据库类库

    1. 通用类库 DC.CommonLiteLib针对一些常用算法,线程管理,IO控制,以及ConvertHelper类型转换,StringHelper字符串封装,FileHelper 文件操作封装等,另有CHM官方文件解释用法。 2. 用数据库类库 DC....

    log4net 写oracle数据库

    对log4net进一步封装,即:LogBLL.cs(业务逻辑通用调用类)、LogOper.cs(文本日志文件操作类)、LogInfo.cs(日志实体类),支持mssqlserver2008(向下兼容)、oracle11g(向下兼容)。 本例附:dll文件、config...

    Direct Oracle Access v4.1.3 bcb6

    Direct Oracle Access还含有一个Package向导,可以生成类,用以封装程序单元,并记录程序包中定义的类型。最终,将您的Oracle程序包变为Object Pascal或C++语言的自然扩展。 TOracleDataSet ——该数据集组件支持...

    用VC++开发Oracle数据库应用程序详解

    在VC中使用PRO*C时,先用PRO*C编写所需的操作数据库的子程序,再运行PRO*C预编译程序把PRO*C源程序转成相应的.CPP源程序,将该程序插入到用户工程文件中,并在需要对插入函数进行调用的模块中说明函数,然后就可以在...

    数据库底层操作(增删改)asp.net1.1

    数据库底层操作,调用相当简单,可以完成Sql、Oracle数据的增、删、改、执行存储过程功能,所有封装的方法请看文件"ConcSoft.Database.TXT",调用事例请看"调用ConcSoft.Database.dll事例.TXT",带日志追踪

    -嵌入式操作系统UCOS的使用.ppt

    其实sql server中也有侦听端口,只不过microsoft将侦听端口固定为...而oracle中的侦听端口直接在配置文件中,允许随便改动,只不过无论怎样改动,客户端的配置文件中的侦听端口要与oracle服务器端设置的侦听端口一致。

    C#基类库(苏飞版)

    PDFOperation--C#PDF文件操作帮助类 类主要功能有1.构造函数2.私有字段3.设置字体4.设置页面大小 5.实例化文档6.打开文档对象7.关闭打开的文档8.添加段落9.添加图片10.添加链接、点 等功能 10.ResourceManager 操作...

    C#通用类库及通用数据库类库

    FileHelper 文件操作封装等。 2,通用数据库类库 DC.CommonDbLiteLib 对常用的Access SqlServer,Oracle,mysql数据库进行了封装,一般情况下只需要调用一个IDatabaseInfo接口即可使用,而且切换数据库,除了数据库本...

    多数据库操作帮助类

    针对不同数据库,进行的操作方法封装。 满足基本操作条件,增加、删除、修改、查询、事务、存储过程。 目前支持的数据库有:MySql,SqlServer,Oracle,SQLite,Access 调用方法 需要先配置访问数据库连接,并在初始化...

    javaEE土地档案管理系统.rar

     土地档案管理系统是主要是对文件档案进行操作的,即其主要的业务。所以本系统主要针对档案的记录进行增删改查的操作。实现这些核心功能之后,可以参考实际应用中个性化操作来添加功能。而在于开发的技术方面,主要...

    sap服务器安装.doc

    剩下三个虚拟共享磁盘分别为 Q:1G,L:20G,M:20G 分区完成后,将除了系统盘外的所有逻辑驱动器进行格式化,之后将oracle与sap的安 装文件拷贝到H:盘 注:系统盘C:的空间分配可在安装操作系统时做好,以上操作就是两个节点...

    通用数据库操作的jdbc

    通用的jdbc工具类封装,适合mysql和sqlserver以及oracle,其需要手动更改你所连接的数据库类型,配置文件在xml文件中,只需要修改xml的属性就可以正常连接你自己的数据库了。其中MySQL和sqlserver均已测试成功,因为...

    PowerBuilder 12.6入门视频教程下载(高级)

    08.文件操作 09.PB读写文件 10.关闭所有窗口+背景完善 11.错误捕获1+SystemError事件 12.错误捕获2+SystemError事件 13.数据窗口数据导出功能+ItemError事件+调用外部函数API 14.PB与Word、Excel的交互 15.图表控件...

Global site tag (gtag.js) - Google Analytics