首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >.NETCore Oracle ManagedDataAccess客户端:无法读取BLOB(.NETCore错误)

.NETCore Oracle ManagedDataAccess客户端:无法读取BLOB(.NETCore错误)
EN

Stack Overflow用户
提问于 2018-07-12 15:58:50
回答 1查看 1.1K关注 0票数 4

我有甲骨文核心应用程序,我们正在尝试使用.NET托管数据访问客户端(目前它只有测试版)。

然而,当我从数据库中读取BLOB时,它得到了'TTC错误‘。有没有人知道该怎么做?

代码语言:javascript
复制
using (OracleConnection conn = new OracleConnection("Data Source=db;User ID=userid;Password=pass;Pooling=False;"))
{
    conn.Open();
    var sql = "SELECT id, blobdata FROM templ";
    OracleCommand cmd = new OracleCommand(sql, conn);
    cmd.CommandType = CommandType.Text;
    OracleDataReader reader = cmd.ExecuteReader();
    using (reader)
    {
         while (reader.Read()) //TTC Error
         {
         }
    }

"TTC错误“是主要的异常信息。

EN

回答 1

Stack Overflow用户

发布于 2018-12-18 05:08:49

这并不理想,但我今天遇到了这个问题,最终使用DBMS_LOB.SUBSTR函数读取了2000年的数据块(2000是RAW可以达到的最大值)。

下面是一个查询,它返回一行,其中每行都是文件在特定偏移量处的2K块。

代码语言:javascript
复制
WITH
INFO
AS
(
    SELECT
        dbms_lob.getlength(A.FILE_CONTENT) AS FILE_CONTENT_LENGTH, 
        MOD(dbms_lob.getlength(A.FILE_CONTENT),2000) AS MOD,
        CASE
            WHEN MOD(dbms_lob.getlength(A.FILE_CONTENT),2000) > 0 THEN TRUNC((dbms_lob.getlength(A.FILE_CONTENT)/2000) + 1)
            ELSE TRUNC(dbms_lob.getlength(A.FILE_CONTENT)/2000)
        END INTERATION_COUNT,
        A.FILE_CONTENT,
        A.FILE_ID
      FROM TABLE_OF_FILES A WHERE A.FILE_ID = 345321561
)
,OFFSETS AS
(
    SELECT
        (2000 * (ROWNUM-1)) + 1 AS OFFSET,
        I.MOD,
        I.FILE_CONTENT_LENGTH,
        I.FILE_CONTENT,
        I.FILE_ID,
        I.INTERATION_COUNT
    FROM INFO I
    CONNECT BY LEVEL <= I.INTERATION_COUNT
)
,RESULT AS
(
    SELECT
        DBMS_LOB.SUBSTR(O.FILE_CONTENT, 2000, O.OFFSET) AS CONTENT,
        O.OFFSET,
        O.MOD,
        O.FILE_CONTENT_LENGTH,
        O.FILE_ID,
        O.INTERATION_COUNT
    FROM OFFSETS O
)
SELECT * FROM RESULT R ORDER BY R.OFFSET ASC;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51300241

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档