我试图通过FILE_UTIL从Oracle生成excel文件。在Oracle文档中,他们给出了一些操作模式 W - 写 R - 阅读 WB -Write Byte RB - 读取字节
无法理解W和WB之间的区别。提前谢谢。
答案 0 :(得分:0)
this似乎提到了您所指的文档,其中的内容比您在问题中所示的内容略多:
指定文件的打开方式。模式包括:
r
- 阅读文字w
- 写文字a
- 附加文字rb
- 读取字节模式wb
- 写字节模式ab
- 追加字节模式
文档也says:
byte_mode
表示文件是作为二进制文件打开还是作为文本文件打开
因此b
表示字节模式而不是文本模式。如果文件处于文本模式,则该文件作为字符流进行访问,因此该文件应在数据库字符集中进行编码,如该包的操作说明中所述。并且它在字节模式下作为二进制流进行访问。有些方法(例如get_line
)会将以字节模式打开的文件引发异常作为“'行”。对二进制数据没有意义。
因此,您正在处理文本文件,该文件可以存储为CLOB
,然后使用文本模式标记。如果您正在处理包含二进制数据(如图像或PDF)的文件(可以存储为BLOB),请使用字节模式标记。
Excel文件包含二进制数据,无论您有.xls
还是.xlsx
文件,因此您需要使用字节模式。如果您正在生成.csv
文件,那么您可能需要文本模式。