我有一个 pdf 以 LONGBLOB 形式存储在数据库中。
我需要使用 Groovy 脚本检索它的二进制输出流。
我试过这个:
rowTest = sql.firstRow("select data from mytable id = 666");
file = rowTest[0];
myLongBlob = (oracle.sql.BLOB)file;
但是,我遇到了强制转换异常:
javax.script.ScriptException: javax.script.ScriptException: org.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot cast object '[B@48eb2326' with class '[B' to class 'oracle.sql.BLOB'
然后我意识到我正在尝试将 LONGBLOB 转换为 BLOB,这可能就是发生此错误的原因?
无论如何,还有另一种方法可以从 LONGBLOB 读取我的 PDF 吗?
Thanks.
编辑:该错误不是由于将 LONGBLOB 转换为 BLOB 造成的,我尝试使用 BLOB 并发生了相同的错误。
编辑:我正在尝试遵循本教程:http://groovy.codehaus.org/Reading+from+a+Blob http://groovy.codehaus.org/Reading+from+a+Blob
一个东西'[B@48eb2326'
指的是字节数组;物体在rowTest[0]
is a byte[]
, not a Blob
。所以最简单的事情可能是byte[] myLongBlob = (byte[]) file
(无论如何,这可能对您来说使用起来更方便!)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)