2016-11-17 20 views
0

腳本我有一個外部表定義爲:無法查詢外部表從SQL開發

CREATE TABLE EXAM_BDE_ventes (
    customerNumber varchar(255), 
    clerkId varchar(255), 
    productId varchar(255), 
    saleDate varchar(255), 
    factoryId varchar(255) 
) 
ORGANIZATION EXTERNAL 
(TYPE ORACLE_LOADER 
    DEFAULT DIRECTORY mydirectory 
    ACCESS PARAMETERS 
    (
     RECORDS DELIMITED BY newline 
     SKIP 0 
     CHARACTERSET UTF8 
     BADFILE logs:'ventes.txt.bad' 
     LOGFILE logs:'ventes.txt.log' 
     FIELDS TERMINATED BY ';' 
     OPTIONALLY ENCLOSED BY '"' 
    ) 
LOCATION ('LightSaberInc.txt')) 
REJECT LIMIT UNLIMITED; 

The LightSaberInc.txt file is here,並擁有近75K線。

如果我查詢該表的語句(Ctrl + Enter),我可以從表中看到的數據:

working

但是當我運行它作爲一個腳本(F5)我不知道看到什麼在腳本輸出窗口:

not working

的日誌不顯示任何錯誤。

我覺得這個怪異的bug在我導入csv的時候隱藏了一個錯誤。此錯誤在我的代碼中稍後會生成其他問題,例如當我使用to_number()時,數字未被正確識別。

爲什麼我不能從腳本查詢外部表?

+0

你是如何導入數據,以及到什麼樣的表? –

+0

我已經編輯我的帖子與創建表和導入數據的請求。 – Chuck

+0

我不能在4.2.0中複製這個,我在腳本輸出窗口中得到預期的結果。你正在使用哪個版本?你可以將其他查詢(甚至是'select * from dual')作爲腳本嗎?我假設你已經嘗試退出並重新啓動SQL Developer以查看這種行爲是否持續存在...... –

回答

1

好的,所以在腳本中我需要指定'\r\n而不是newline

我猜這個文件是用一個操作系統創建的,該操作系統不使用值newline來指定一個新行,而是用'\r\n來代替。

+0

雖然我不確定你是如何得到結果的。很高興你解決了,無論如何。 –