c# 如何读取oracle数据表里面的clob字段的内容信息

///读取test_data_table表test_data属性【test_data字段为clob类型】
///
///
private string GetQueryLineTable(TESTDATATABLE lot)
        {
            //获取CLOB字段
            string stringWhere = "";
            stringWhere += string.Format(" org_rrn = {0} ", ConnectionInfo.OrgRrn);

            if (!string.IsNullOrEmpty(lot.OBJECTRRN))
            {
                stringWhere += string.Format(@" and object_rrn = '{0}' ", lot.OBJECTRRN);
            }

            //组合整个SQL语句
            string stringSql = string.Format(@"select test_data from test_data_table where {0}", stringWhere);

            string connStr = OracleDBEntityPublic.Instance.getConnStr();
            using (OracleConnection conn = new OracleConnection(connStr))
            {
                try
                {
                    OracleCommand cmd = new OracleCommand();
                    cmd.Connection = conn;
                    cmd.CommandText = stringSql;
                    cmd.CommandType = CommandType.Text;
                    conn.Open();

                    OracleDataReader reader = cmd.ExecuteReader();
                    int actual = 0;
                    string strTestData = "";

                    while (reader.Read())
                    {
                        OracleClob myOracleClob = reader.GetOracleClob(0);//读取clob字段的信息
                        //用字符流读取clob内容
                        StreamReader streamreader = new StreamReader(myOracleClob, Encoding.Unicode);
                        char[] cbuffer = new char[1000];
                        while ((actual = streamreader.Read(cbuffer, 0, cbuffer.Length)) > 0)
                        {
                            string str = new string(cbuffer, 0, actual);
                            strTestData += str;
                        }
                        break;
                    }
                    return strTestData ;
                }
                catch (Exception ex)
                {
                    UILogger.This.Trace("数据库异常" + ex);
                    return null;
                }
            }
        }
posted on 2025-06-11 09:12  willian知识库  阅读(80)  评论(0)    收藏  举报