2013-02-08 60 views
1

通過PHP文檔瀏覽Oracle OCI8功能我發現OCI-Lob :: size here。它的描述說:「獲取大對象的大小」。返回值的描述是「返回大對象值的長度或失敗時返回FALSE。空對象的長度爲零」。OCI-Lob :: size()使用哪些單位?

這可能對我非常有用,但不清楚使用了哪些單位。人物?字節?千字節?更大的塊?

回答

1

OCI本身有點棘手。對於BLOB,很明顯 - 字節。只要注意Oracle LOB從第一個字節開始。 (而不是從零)。對於CLOB,它返回字符。

但是OciLobRead/OciLobWrite返回寫入的字節數,與lob類型無關。引入了新的函數 - OciLobRead2/OciLobWrite2它們返回兩個位置(以字節爲單位,以字符爲單位)。

+0

不知道我是否可以從PHP訪問OciLobRead2。或者你的意思是PHP的LOB的方法cann OciLobRead2? – Btz

+0

這取決於用於驅動程序編譯的客戶端版本。看到[鏈接](https://github.com/php/php-src/blob/master/ext/oci8/oci8_lob.c#L327) – ibre5041

+0

好吧,現在我明白了。這有點不直觀,不是嗎? – Btz