2013-08-29 16 views
2

我在vb.net中有一個OracleDataReader對象,它包含一個保存Long(這是Oracle中的文本)的列。我需要把它放到datagridview中,只要我嘗試通過數據表綁定它,或者用.toString轉換單個項目,我最終得到一個空字符串。如何在vb.net中處理Oracle長字符串

我意識到列可能會保留比放入數據網格更多的文本,我可以切斷一些,或者在轉換中丟失一些,因爲我只需要它的第一部分。

數據庫更改不是一個選項。任何人都有這方面的知識?

回答

3

試試這個:

如果使用ODP.Net訪問從淨Oracle數據庫,並選擇 長文本列,DataReader的的getString()方法會返回一個 空字符串

要解決此問題,需要將InitialLONGFetchSize 設置爲非零值,並使用OracleDataReader‘sGetOracleString() 方法,並使用ToString()將結果轉換成。 Net字符串。

另一種可能性是將InitialLONGFetchSize設置爲-1,以便 GetString()按預期工作。

在這裏找到:http://devio.wordpress.com/2009/08/24/reading-long-oracle-columns-in-net/

+0

當我嘗試設置它,它說,InitialLONGFetchSize是隻讀的。甚至在我填充OracleDataReader之前 – Loogawa

+0

對於OracleDataReader而言,它似乎是隻讀的,從其他地方讀取 – Loogawa