Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Oracle OleDB和长数据类型_C#_.net_Oracle_Oledb - Fatal编程技术网

C# Oracle OleDB和长数据类型

C# Oracle OleDB和长数据类型,c#,.net,oracle,oledb,C#,.net,Oracle,Oledb,我们确实有一个非常老化的.NET应用程序,它需要从Oracle中的一个长数据类型字段检索数据。我已经做了相当广泛的研究,我知道数据类型已被弃用,但我们现在还不能这样做 问题OleDb仅从字段中检索100个字节,如果在连接字符串中附加Chunksize=65535,则可以将其扩展到65535字节。我们确实需要更多 长话短说,我在11g Oracle上测试了一些查询,似乎如果选择单个字段(甚至整个表),则返回整个字段,如果连接表,则字段被截断 从表中选择字段=>返回的整个字段 选择*FROM TAB

我们确实有一个非常老化的.NET应用程序,它需要从Oracle中的一个长数据类型字段检索数据。我已经做了相当广泛的研究,我知道数据类型已被弃用,但我们现在还不能这样做

问题OleDb仅从字段中检索100个字节,如果在连接字符串中附加Chunksize=65535,则可以将其扩展到65535字节。我们确实需要更多

长话短说,我在11g Oracle上测试了一些查询,似乎如果选择单个字段(甚至整个表),则返回整个字段,如果连接表,则字段被截断

从表中选择字段=>返回的整个字段 选择*FROM TABLE=>返回的整个字段 从表T中选择* 左连接表1 T1 左连接表2 T2 ... => 截断的

我知道SELECT*不好(我没有写那个查询),我显然可以使用第一个查询,我可能会

我想要的是一个文档文章的链接,解释这种优化是如何工作的,如果有的话。对我来说,如果它只返回整个字段(这看起来像是针对懒惰的开发人员进行的优化…),那么它就有意义了


提前感谢

据我所知,这是针对OleDB的。您可以尝试使用to_lob将值转换为lob,或者您可以先进行连接以获取主键,然后针对长值进行另一次选择。感谢您回答ewramner。我使用ODP.NET进行了测试,它提供了更多关于如何获取数据的控制(OracleCommand对象上有一个属性,用于指定从长字段中检索多少字节)。这似乎真的是OleDB的“问题”。如果有人知道,很高兴了解更多。短暂性脑缺血发作