2013-10-24 22 views
1

我需要從一些oracle數據庫表中獲取數據並將其格式化爲固定寬度的文本文件。 我想知道是否有可能使用sql創建文本文件。 我看了一些東西,發現了bc和xp_cmdshell,但它們有點混亂。在oracle中使用sql創建文本文件

我對sql和oracle數據庫很新穎。

這是可能的,我該如何開始?

我不需要打開一個文件或檢查現有的文件,覆蓋是好的,什麼使它最容易。 我不需要任何大的或複雜的,一個簡單的腳本來抓取值並創建一個文本文件。

只是一個更新: 我不認爲bcp適用於oracle編輯器的蟾蜍。 我發現這個教程在這裏:http://www.sqlteam.com/article/exporting-data-programatically-with-bcp-and-xp_cmdshell 但第一BCP命令不能編譯,它說無效的SQL查詢

+0

你在哪裏需要該文件? – Teja

+0

@SOaddict - 我希望文件在我的電腦上,最好在我的文檔中。 – RXC

+0

所以你基本上是試圖運行一個簡單的SQL查詢,你想在文本文件中有這些結果。我正確嗎? – Teja

回答

2

如果您使用的是SQL * Plus客戶端,你可以存到一個輸出文件。這裏是一個示例SQL * Plus文件:

set serveroutput on size 1000000 
set linesize 150 
spool C:\path_to_file\filename.extension 

-- Your SQL statement 
select columns 
from table 
where somecondtion; 

-- Your next SQL Statement 
select ... 
from ...; 

spool off 
+0

我想使用你提供的,但我得到一個錯誤:「無效的SQL語句」。不知道我錯過了什麼,但最後一行中的單詞是加下劃線的紅色。我正在使用Toad for Orcale,所以不確定此代碼是否有效。 – RXC

+0

SQL * Plus是一個將運行上述腳本的Oracle命令行客戶端。多年來我沒有使用過蟾蜍,但我懷疑你可以通過將它作爲_script_而不是_SQL_ _statement_(可能是不同的按鈕或命令)來執行此操作。我確定Toad有關於運行_scripts_以及如何_spool_輸出文件的文檔。 – Wolf

+0

我確實找到了Execute as Script按鈕,它工作正常。該文件是在指定的路徑中創建的。任何想法如何解決不正確顯示列? – RXC

0

我認爲你可以使用sqlplus命令行工具todo這個。有關格式化提示,請參見oracle manual

+0

提供答案時,顯示一個實際的例子,即使一個通用的例子就是你可以做的所有事情來開始 –

相關問題