我在 vb.net 中有一个 OracleDataReader 对象,其中包含一个包含 Long 的列(这是 oracle 中的文本)。我需要将它放入 datagridview 中,每当我尝试通过数据表绑定它或使用 .toString 转换单个项目时,我都会得到一个空字符串。
我意识到该列可能包含比数据网格中更多的文本,我可以删除一些文本,或者在转换中丢失一些文本,因为我真的只需要它的第一部分。
数据库更改不是一种选择。有人对此有任何了解吗?
尝试这个:
如果您使用 ODP.Net 从 .Net 访问 Oracle 数据库,并选择 LONG 文本列,DataReader 的 GetString() 方法将返回一个 空字符串。
要解决此问题,您需要将 设置为
InitialLONGFetchSize
非零值,并使用该OracleDataReader‘s
GetOracleString()
方法,并使用ToString()
将结果转换为 .Net
细绳。另一种可能性是设置
InitialLONGFetchSize
为 -1,以便GetString()
按预期工作。
在这里找到:http: //devio.wordpress.com/2009/08/24/reading-long-oracle-columns-in-net/