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
方法/步驟
首先打開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中將此列刪除即可。