2014-09-04 61 views
-1

我想通過FILE_UTIL從Oracle生成excel文件。在Oracle文檔,他們給了一些操作方式類似 W - 寫 的R - 閱讀 WB - 寫入字節 RB - 讀取字節Oracle File_Util中W和'WB'的用途是什麼?

無法理解W和WB之間的差異。提前致謝。

+0

我假設你的意思是UTL_FILE包......如果不是,你能鏈接到你指的文檔嗎? – 2014-09-04 17:31:10

回答

0

你指的是該文件似乎爲this,它說比你在問題中指出稍微:

指定如何打開該文件。模式包括:

  • r - 閱讀的文本
  • w - 寫文本
  • a - 文本追加
  • rb - 讀字節模式
  • wb - 寫字節模式
  • ab - 附加字節模式

的文檔還says

byte_mode指示文件是否爲二進制文件打開,或爲一個文本文件

所以b表明字節模式,而不是文本模式。如果文件處於文本模式,則該文件將作爲字符流進行訪問,因此該文件應該在數據庫字符集中進行編碼,如該包的操作說明中所述。它在字節模式下作爲二進制流訪問。有幾種方法,如get_line,會在字節模式下打開一個文件,因爲'行'對二進制數據沒有意義。

因此,它正在處理一個文本文件,它可以存儲爲CLOB,然後使用文本模式標誌。如果您正在處理包含二進制數據的文件,如圖像或PDF(可以存儲爲BLOB),請使用字節模式標誌。

無論您有.xls還是.xlsx文件,Excel文件都包含二進制數據,所以您需要使用字節模式。如果您生成.csv文件,您可能需要文本模式。

相關問題