在oracle 10g中导入HTML文件

时间:2019-03-16 18:59:05

标签: html oracle oracle10g

是否可以在oracle 10g中导入html文件并在其中搜索单词? 我该怎么办?

2 个答案:

答案 0 :(得分:1)

您为什么要让Oracle参与HTML文件中的某些 string 搜索?

  • 双击该文件
  • 它将在浏览器中打开
  • CTRL + F将打开搜索,因此...搜索该单词

甚至

  • 在任何文本编辑器中打开HTML文件
  • 使用其搜索功能找到该单词

如果您坚持使用Oracle,那么

  • 创建表格
  • 其中一列应为CLOB
  • 使用以下命令将HTML文件加载到其中
    • Oracle Text(由@ paulsm4建议)
    • SQL * Loader,或
    • 外部表格功能,或
    • UTL_FILE,或
    • DBMS_LOB,或者其他一些东西
  • 针对该CLOB列使用DBMS_LOB.INSTR函数,并查看其中是否存在 word

我想说的是:我不认为Oracle(作为数据库管理系统)是执行此操作的正确的工具。可以完成的事实并不意味着它应该完成。还有其他(编程)语言被设计为以一种简单的方式来做到这一点。例如,Python。

另一方面,我有点理解-当/如果Oracle是您唯一知道的工具-它就是您将要使用的工具。

答案 1 :(得分:0)

您在寻找这个吗?

FUNCTION GetFile(FolderName IN VARCHAR2, FileName IN VARCHAR2) RETURN CLOB IS

    xbfile   BFILE; 
    xclob    CLOB; 
    destOffset INTEGER := 1; 
    srcOffset INTEGER := 1; 
    warning INTEGER;
    lang_context INTEGER;

BEGIN 
    xbfile := BFILENAME (FolderName, FileName); 
    DBMS_LOB.OPEN (xbfile); 
    DBMS_LOB.CREATETEMPORARY(xblob, TRUE, DBMS_LOB.SESSION);    
    DBMS_LOB.LOADCLOBFROMFILE(
        dest_lob => xblob, 
        src_bfile => xbfile, 
        amount => DBMS_LOB.GETLENGTH(xbfile), 
        dest_offset => destOffset, 
        src_offset => srcOffset,
        bfile_csid => NLS_CHARSET_ID('AL32UTF8'),
        lang_context => lang_context,
        warning => warning); 

    DBMS_LOB.CLOSE(xbfile); 

    RETURN xclob; 

END GetFile;