bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

Oracle通過Sqlplus結合Shell腳本方式生成Excel文件

一、問題描述
       今天接到一個任務,是要求每天通過SQL腳本生成excel文件,并且自動發送到相關人員郵箱。這個需求我還真是沒有做過,之前只做過通過SQL腳本生成為HTML網頁文件。于是乎,我又開始的學習過程,如今的Internet時代,解決問題就是easy,很快就找到了eygle的博客(使用SQL*PLUS,構建完美excel或html輸出http://www.eygle.com/archives/2005/04/eoasqlplusieaae.html)。下面是學習過程中的實驗部分。

二、實驗
1.建立測試表

  1. SAM@dzwj> create table test1(id int,namevarchar2(10),locvarchar2(30),hire_datedate,emailvarchar2(20),departmentvarchar2(20));
  2. Table created.

  3. SAM@dzwj> insert into test1values (1,'sam1','beijing',sysdate,'sam1@oracle.com','it');
  4. 1row created.
  5. SAM@dzwj> insert into test1values (2,'sam2','beijing',sysdate,'sam2@oracle.com','it');
  6. 1row created.
  7. SAM@dzwj> insert into test1values (3,'sam3','beijing',sysdate,'sam3@oracle.com','it');
  8. 1row created.
  9. SAM@dzwj> insert into test1values (4,'sam4','beijing',sysdate,'sam4@oracle.com','it');
  10. 1row created.
  11. SAM@dzwj> insert into test1values (5,'sam5','beijing',sysdate,'sam5@oracle.com','it');
  12. 1row created.

  13. SAM@dzwj> SAM@dzwj> commit;
  14. Commit complete.

  15. SAM@dzwj> select * from test1;

  16.         ID NAME LOC HIRE_DATE EMAIL DEPARTMENT
  17. ---------- ---------- ------------------------------ ------------------ -------------------- --------------------
  18.          1 sam1 beijing 28-NOV-17 sam1@oracle.com it
  19.          2 sam2 beijing 28-NOV-17 sam2@oracle.com it
  20.          3 sam3 beijing 28-NOV-17 sam3@oracle.com it
  21.          4 sam4 beijing 28-NOV-17 sam4@oracle.com it
  22.          5 sam5 beijing 28-NOV-17 sam5@oracle.com it


2.編輯 main.sql

  1. [oracle@testdb~]$ cat main.sql
  2. set linesize 200pagesize 10000
  3. set termoff verifyoff feedbackoff
  4. set markup htmlon entmapon spool on preformat off
  5. alter session set NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS';
  6. spool /home/oracle/test1.xls
  7. @/home/oracle/get_tables.sql
  8. spool off
  9. exit

3.編輯 get_tables.sql

  1. [oracle@testdb~]$ cat get_tables.sql
  2. select * from test1;

4.編輯執行文件 collect.sh

  1. [oracle@testdb~]$ cat collect.sh
  2. #!/bin/bash
  3. . /home/oracle/.bash_profile
  4. DATE=`date +%Y%m%d`
  5. sqlplus sam/oracle@dzwj@/home/oracle/main
  6. mv/home/oracle/test1.xls/home/oracle/test1_${DATE}.xls

5.給collect.sh 執行權限

  1. [oracle@testdb~]$ chmod u+x collect.sh

6.執行

  1. [oracle@testdb~]$ ./collect.sh

  2. SQL*Plus: Release 11.2.0.4.0 Productionon Wed Nov 29 11:00:19 2017

  3. Copyright(c) 1982, 2013, Oracle. All rights reserved.


  4. Connectedto:
  5. OracleDatabase 11g Enterprise EditionRelease 11.2.0.4.0- 64bit Production
  6. With the Partitioning, OLAP, Data Miningand Real Application Testing options

  7. Disconnectedfrom OracleDatabase 11g Enterprise EditionRelease 11.2.0.4.0- 64bit Production
  8. With the Partitioning, OLAP, Data Miningand Real Application Testing options

7.驗證
將文件傳回到本地機器打開,得到想要的excel文件
Oracle通過Sqlplus結合Shell腳本方式生成Excel文件

三、總結
       生活在Internet時代真是件幸福的事,此次任務算是告一段落,但是當中還是碰到一些小problems,比如一開始沒有加時間NLS_DATE_FORMAT變量的修改,導出的時間類型數據時沒有時間,只有年月日。總而言之,多學習,多實踐,沒錯的。向eygle大神致謝。  Where there is a will, there is a way.




分享名稱:Oracle通過Sqlplus結合Shell腳本方式生成Excel文件
文章轉載:http://vcdvsql.cn/article40/peggho.html

成都網站建設公司_創新互聯,為您提供網頁設計公司Google外貿網站建設定制開發網站導航App設計

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

微信小程序開發