Oracle数据库:如何读取BLOB?
|
我正在使用Oracle数据库,并且我想阅读BLOB的内容。我该怎么做呢?
当我执行一个简单的select语句时,它仅返回\“(BLOB)\”(不带引号)。如何阅读实际内容?
没有找到相关结果
已邀请:
6 个回复
孝箱捆讨
以十六进制形式转储该值。
这很方便,因为您使用的是与插入BLOB列相同的格式:
但是,在某个点(2000字节?),相应的十六进制字符串超过了Oracle的最大字符串长度。如果需要处理这种情况,则必须将“如何从Oracle SQL中的BLOB中获取文本内容”与“ 3”文档结合起来,以获得更复杂的方法,使您可以查看BLOB的子字符串。
甲车劲
咖哀烈
要么
这将显示十六进制值。
诧不达
连接字符串不需要Provider值,因此您可以使用类似以下内容:
打开连接:
附加命令并设置Sql语句
设置提取大小。我使用4000,因为它与varchar一样大
启动阅读器并遍历记录/列
如果您首先在列中识别数据类型,则可以通过读取来更具体,例如dr.GetOracleString(i)dr.GetOracleClob(i)等。如果您正在读取LONG数据类型,则简单的
或
可以正常工作。关键是要确保InitialLONGFetchSize对于数据类型而言足够大。还要注意,本机驱动程序不支持数据读取器的“ 14”,但是您不需要它,而且LONG字段甚至不必是select语句中的最后一个字段。
窃誓额
昧伎
过程,该过程不需要索引。