當前位置:首頁 » 編程語言 » oracle定時執行sql導出excel
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

oracle定時執行sql導出excel

發布時間: 2022-04-30 06:41:39

A. 如果需要從oracle中每天定時導出數據用什麼方法

1、創建資料庫日誌表導出為文本文件的腳本tabout.ctl或tabout.sql

注意:該日誌導出後在c:HttpLog目錄下

tabout.ctl腳本內容如下:

SET NEWPAGE NONE

SET HEADING OFF

SET TERM OFF

SET SPACE 0

SET PAGESIZE 0

SET TRIMOUT ON

SET TRIMSPOOL ON

SET LINESIZE 2500

set feedback off

set echo off

SET VERIFY OFF

column v_date new_value filename;

select to_char(sysdate,'yyyymmdd') || '.log' v_date from al;

spool ..HttpLog&&filename

select id||','||name from orcluser.test;

spool off;

exit;

2、創建調用該腳本的logout.bat文件

logout.bat內容如下:

mkdir ..HttpLog

C:oracleora92insqlplus orcluser/orcl @C:Oracleout.ctl

說明:該bat文件直接在當前目錄下創建名為HttpLog的文件夾,以便tabout.ctl腳本輸出的文件存放到該目錄下。其通過調用Oracle中sqlplus可執行文件來執行tabout.ctl腳本,所以該文件直接雙擊即可運行,無需其他操作。

3、通過windows定時任務實現自動定期執行

「在控制面板——任務計劃——添加任務計劃」中建立定期將資料庫中日誌表數據導出為文本格式(如:你可以根據需求設置為每天對日誌表數據進行導出)。根據你當前對日誌文件路徑的存儲需求,修改上面兩個腳本中的存儲路徑,在windows定時任務直接調用logout.bat文件執行即可。

B. 使用PL/SQL將Oracle中表內容導出到EXCEL中

用sql查出你需要的三列數據,全選所以的結果集,右鍵選擇toExcel

C. 如何使用PL/SQL工具將oracle數據導出到excel

1\打開PL/SQL 2\菜單「文件-新建-SQL窗口」 3\在窗口中利用SQL語句找到要導出的數據,比如要導出表:t_yang的所有數據,輸入 1 select * from t_yang; 按F8執行。就會顯示表數據。 4\點藍色圖標導出查詢結果按鈕,選擇Excel File就行了

D. 如何將oracle的查詢結果導出到EXCEL

方法/步驟

  1. 首先打開PL/SQL,然後在SQL Window窗口中,查詢需要導出的數據。



E. oracle 從SQL的文件導出數據到EXCEL中

BMP ? dmp吧,這個是Oracle的導出文件。

據我所知,應該沒有辦法直接從dmp文件中提取數據。

應該將dmp文件導入(恢復)到Oracle資料庫中,
然後再使用普通的sql語句進行檢索,
通過pl/sql dev、navicat 客戶端 等等工具就可以導出成excel了

F. oracle sql handler如何導出excel

打開excel,點菜單:數據→導入外部數據→導入數據
在選取數據源對話框中點新建源
在數據連接向導對話框中選資料庫類型(如Microsoft SQL Server)→下一步→
輸入伺服器名稱(如:192.168.3.22)→ 輸入用戶名、密碼 → 選擇資料庫→連接到指定表格→下一步→確定 回到選取數據源對話框
在選取數據源對話框中點打開
點空白數據表的任意單元格(如A1)或者選新建工作表 →確定

以上是從SQL資料庫導出數據的方法,其他應該類似

G. oracle如何將數據的數據按照sql導出成excel格式或者pdf格式啊

導出步驟如下:

1、打開SQL;

2、選擇需要導出的數據文件,打開;

3、用SQL查處需要的數據內容,全選所有的結果集;

4、右鍵選擇「Copy to Excel」即可,如圖;

H. oracle中如何把查詢結果導出到excel裡面

oracle導出excel
一、oracle導出excel

方法一:最簡單的方法---用工具plsql dev
執行File =>newReport Window 。在sql標簽中寫入需要的sql,點擊執行或按快捷鍵F8,會先吃出查詢結果。在右側工具欄,可以選擇按鈕另存為html、 as html、exportresults,其中export results按鈕中就可以導出excel文件、csv文件、tsv文件、xml文件。

方法二:最專業的方法---用原始工具sqlplus
原文參見:http://www.eygle.com/archives/2005/04/eoasqlplusieaae.html
我做了一點修改,如下所示:

1.main.sql
用以設置環境,調用具體功能腳本
2.功能腳本-get_tables.sql
為實現具體功能之腳本
通過這樣兩個腳本可以避免spool中的冗餘信息,參考:
如何去除SQLPLUS中SPOOL的冗餘信息

示例如下:
1.main.sql腳本:

[oracle@jumper utl_file]$ more main.sql

set linesize 200

set term off verify off feedback off pagesize 999

set markup html on entmap ON spool on preformat off

spool d:/tables.xls

@d:/get_tables.sql

spool off

exit

2.get_tables.sql腳本:

[oracle@jumper utl_file]$ more get_tables.sql

select owner,table_name,tablespace_name,blocks,last_analyzed

from all_tables order by 1,2;

3.執行並獲得輸出:

[oracle@jumper utl_file]$ sqlplus "/ as sysdba" @d:/main.sql

SQL*Plus: Release 9.2.0.4.0 - Proction on Mon Apr 25 10:30:11 2005

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

Connected to:

Oracle9i Enterprise Edition Release 9.2.0.4.0 - Proction

With the Partitioning option

JServer Release 9.2.0.4.0 - Proction

Disconnected from Oracle9i Enterprise Edition Release 9.2.0.4.0 - Proction

With the Partitioning option

JServer Release 9.2.0.4.0 - Proction

[oracle@jumper utl_file]$ ls -l tables.xls

-rw-r--r-- 1 oracle dba 69539 Apr 25 10:30 tables.xls

[oracle@jumper utl_file]$

此處輸出為xls文件,通過下圖我們可以看到輸出效果:

把main.sql腳本中的,spooltables.xls更改為spool tables.htm,我們可以獲得htm格式輸出,效果如下圖:

方法三:最悲劇的方法,之所以稱為悲劇,是因為這個方法其實很簡單,但是你可能沒有注意。
打開plsql dev工具,執行file=>newsql window ,輸入sql,點擊工具欄「執行」按鈕或按快捷鍵F8。會顯示出結果集。
點擊結果集的左上方,可全部選中結果集,然後右鍵=>,直接粘貼到excel文件中就可以了!

方法四:最努力的方法,這種方法稍微有點麻煩,但不用寫腳本,也不用psql dev工具,只用sql plus就可以了。
在sqlplus中,執行想要的sql,把結果集到文本文件中(或者直接用spool命令直接輸入到文本文件中),把不必要的字元、空格替換成逗號",",然後另存為csv文件,最後在用excel另存為exl文件就可以了。

二、把excel文件數據導入到oracle的某個表中。

方法一:最省時的方法,需要藉助plsql dev工具。
a.復制整個工作簿中的數據到某個表中。
點擊excel工作區左上角,全部選中數據,ctrl+c 復制整個工作簿中的數據。在plsql dev中,編輯表格表的數據,點擊數據展示區左上角,直接粘貼就可以了(注意excel的第一列應該保持為空,如果不為空可以增加一空列,不然你復制的數據就會少一列的)!如下圖
所示:

b.復制某列的數據。
這個很容易,選中excel某一列的數據,復制,選中oracle某個表的某一列,直接粘貼就可以了。plsql dev和excel中的列可以相互復制。

方法二:最專業的方法,用sql loader。

原文地址:http://daniel-wuz.javaeye.com/blog/198112

1.錄入excel 測試表格,test.xls。
2.另存為.csv格式
3.創建sql*loader控制文件test.ctl,內容如下:
Load data
Infile 'c:/test.csv'
insert Into table test Fields terminated by','(column1,column2,column3,column4,column5)

需要將數據文件拷貝到對應位置

4.到資料庫中建立對應的測試表test

create table test (
column1 Varchar2(10),
column2 Varchar2(10),
column3 Varchar2(10),
column4 Varchar2(10),
column5 Varchar2(10)
)

5.執行導入命令
Sqlldr userid = system/manager control='C:/test.ctl'

導入成功!

附:
Sqlldr的函數關鍵字說明:
Userid --oracle用戶名 userid = username/password
Control --控制文件名稱 control =『e:/insert.ctl』
Log –-日誌文件名稱 log = 『e:/insert.log』
Bad --損壞文件名稱
Data --data file name
Discard --discard file name
Discardmax --number of discards to allow(默認全部)
Skip --導入時跳過的記錄行數(默認0)
Load --導入時導入的記錄行數(默認全部)
Errors --允許錯誤的記錄行數(默認50)

ctl文件內容說明:
Load data
Infile 『e:/test.csv』 --數據源文件名稱
Append|insert|replace --append在表後追加,insert插入空表,replace替代原有內容
Into table test --要導入的資料庫表名稱
[when id = id_memo] --過濾條件
Fields terminated by X』09』 --欄位分隔符
(id,name,telphone) --欄位名稱列表

方法三:最悲劇的方法,創建oracle外部表,為了把excel中的數據導入到數據中而去建立外部表,大題小做了!
將excel文件另存為csv文件a.csv,然後創建一個外部表t,數據指向a.csv。然後根據外部表創建一個普通的表:
create table a asselect * from t ,這樣就可以把最初的excel文件導入到oracle中的表了。

方法四:最古典的方法,拼接sql語句。如果你excel熟的話,這種方法也不錯。
在excel中,把數據拼接成如下sql語句:
insert into empvalues('1','2','3');
insert into empvalues('4','5','6');
insert into empvalues('7','8','9');

出以上sql,執行就可以了!!

I. oracle導出大量數據到excel

1、首先在SQL Window窗口中,查詢需要導出的數據。
2、在查詢的結果集上(注意不要選中任何一個行或者單元格)右鍵--【Copy to Excel】-->【Copy as xls/xlsx】導出到97-2003格式的.xls或者2007之後的xlsx文件.
3、如果不想導出查詢的全部數據,可以在左側選中需要導出的行,然後步奏同上。
4、點擊導出後,系統自動打開導出的excel文件內容,這裡麵包括數據以及查詢這些數據的sql腳本。
5、點擊「SQL Statement」可以查看資料庫腳本。
6、下面就是操作excel文件了。點擊【文件】--【另存為】保存excel文件
7、選擇保存路徑,輸入文件名稱。

注意事項:導出到excel的時候,行記錄數也會被自動導出。如果不需要可以在excel中將此列刪除即可。