///读取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;
}
}
}