国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 數(shù)據(jù)庫(kù) > Oracle > 正文

Oracle9i中的SQL*Plus

2024-08-29 13:37:49
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

  在Oracle9i中, SQL*Plus現(xiàn)在不僅能接受文件名當(dāng)作腳本地址,還可以接受HTTP或是FTP地址當(dāng)作腳本地址來(lái)源。舉例來(lái)說(shuō),通過(guò)“@http://www.mycorp.com/sql/setup.sql”這條命令就可以從這個(gè)網(wǎng)址裝載SQL腳本,然后在當(dāng)前的運(yùn)行環(huán)境下運(yùn)行。 而“@@”命令能知道它當(dāng)前正在從一個(gè)URL上運(yùn)行,所以會(huì)從相同的位置裝載腳本。舉例來(lái)說(shuō),假如上述裝載的腳本包含以下代碼的話,那么每個(gè)SQL腳本將根據(jù)給定的URL被裝載。
  
  REM - setup script
  @@tables.sql
  @@indexes.sql
  @@code.sql
  
  有些DBA希望集中維護(hù)位于一個(gè)遠(yuǎn)程位置并且可以被不同位置的數(shù)據(jù)庫(kù)執(zhí)行的腳本,這對(duì)于他們來(lái)說(shuō)是有價(jià)值的。這對(duì)于那些因沒(méi)有SQL*Net而不能連接數(shù)據(jù)庫(kù),但能通過(guò)HTTP使用腳本的客戶是非凡有用的。
  
  通過(guò)HTTP協(xié)議,腳本可以根據(jù)Web服務(wù)器的輸入?yún)?shù)產(chǎn)生。舉例來(lái)說(shuō),http://www.mycorp.com/cgi-bin/setup.pl?host=bart就將參數(shù)host=bart傳遞給CGI-BIN腳本。SQL *Plus有其單獨(dú)的參數(shù)傳遞工具。
  
  在腳本被裝載之后,這些參數(shù)被綁定起來(lái)用于定義參數(shù)。命令@@tables.sql mytablespace將從相同的相關(guān)目錄裝載“tables.sql”這個(gè)腳本,然后mytablespace 將被綁定到SQL * Plus的&1參數(shù)上。 對(duì)于@URL在功能上有一個(gè)差別,那就是.sql擴(kuò)展是不可選擇的
  
  在Oracle8i中模擬@URL
  這個(gè)特征的一個(gè)缺點(diǎn)就是他似乎不支持HTTP代理。腳本只有通過(guò)直接的連接才能夠被裝載。在Oracle8i中的一個(gè)變通的通過(guò)使用代理進(jìn)入或者是模擬這個(gè)功能實(shí)現(xiàn)的腳本如下:
  
  REM -- http_at.sql
  set feedback off
  set linesize 255
  set serveroutput on size 64000
  set trimspool on
  spool test.sql
  declare
    l_pieces utl_http.Html_pieces;
    l_piece   varchar2(2000);
    l_url varchar2(2048) := '&1';
    l_maxline integer := 255;
    l_index integer;
    l_stub   varchar2(255);
    l_PRoxy varchar2(2048) := 'proxy.mycomp.com:8000';
  begin
    l_pieces := utl_http.request_pieces(l_url,1000,l_proxy);
    for i in l_pieces.first .. l_pieces.last loop
      l_piece := l_pieces(i);
      while length(l_piece) > l_maxline loop
        l_stub := substr(l_piece,1,l_maxline);
        l_index := length(l_stub);
        while l_index > 0 and substr(l_stub,l_index,1) != chr(10) loop
          l_index := l_index - 1;
        end loop;
        l_stub := substr(l_piece,1,l_index-1);
        l_piece := substr(l_piece,l_index+1);
        dbms_output.put_line(l_stub);
      end loop;
      dbms_output.put_line(l_piece);
    end loop;
  end;
  /
  spool off;

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 唐山市| 高唐县| 安平县| 奉节县| 陇川县| 黔江区| 和林格尔县| 阳西县| 乌拉特前旗| 遵义县| 珲春市| 广丰县| 从江县| 清河县| 五台县| 光山县| 巴林左旗| 札达县| 天台县| 秀山| 漠河县| 乌兰察布市| 沅陵县| 郯城县| 襄垣县| 金沙县| 西宁市| 乃东县| 青阳县| 孙吴县| 攀枝花市| 三门峡市| 邢台县| 永平县| 察隅县| 绥中县| 二手房| 西华县| 永定县| 武穴市| 乌兰浩特市|