关于clob的读取 在一个表中,有一个字段是 clob 类型,现在我要用一个sql语句查询并显示到页面中,该如何写。使用select dbms_lob.substr(a.desc, 2000,1) as desc from table a 只能查询截取4000字符的内容,要查询出全部内容怎么办呢?最好能用一个sql写出来谢谢各位了。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 OracleConnection myCn = new OracleConnection(strConn); OracleCommand myCmd = new OracleCommand(); try { myCn.Open(); } catch(System.Data.OracleClient.OracleException e) { throw new Exception(e.Message); } OracleTransaction myTrans = myCn.BeginTransaction(); try { myCmd.Connection = myCn; myCmd.Transaction = myTrans; myCmd.CommandText = "SELECT * FROM "+ table_name +" where "+ table_id +" = "+ id +" FOR UPDATE"; OracleDataReader reader = myCmd.ExecuteReader(); using(reader) { reader.Read(); OracleLob CLOB = reader.GetOracleLob(column); int[] content = new int[(int)CLOB.Length]; byte[] buffer = new byte[(int)CLOB.Length]; for(int i = 0;i<(int)CLOB.Length;i++) { content[i] = CLOB.ReadByte(); buffer[i] = (byte)content[i]; } Encoding utf8 = Encoding.UTF8; string final = utf8.GetString(buffer); myTrans.Commit(); return final; } } catch(System.Data.OracleClient.OracleException e) { myTrans.Rollback(); throw new Exception(e.Message); } finally { myCmd.Dispose(); myCn.Close(); } 求一条sql,关于交集的 初学Oracle,请高手指教! ORA-04031:无法分配4096字节的共享内存("shared pool ORA-01034错误 PL/SQL中如何把comments的内容查找后都列出来? oracle 程序连接时的报错,sqlnet.text显示内容 50分在线等~~~~~ 英文的2000,现在冲ORACLE里读出的中文是乱码!请问是什么问题? ORACLE中type对象的方法如何创建及使用? 求助:exp/imp问题 关于clob的读取 关于自增列delete之后insert的问题!
OracleCommand myCmd = new OracleCommand();
try
{
myCn.Open();
}
catch(System.Data.OracleClient.OracleException e)
{
throw new Exception(e.Message);
}
OracleTransaction myTrans = myCn.BeginTransaction();
try
{
myCmd.Connection = myCn;
myCmd.Transaction = myTrans;
myCmd.CommandText = "SELECT * FROM "+ table_name +" where "+ table_id +" = "+ id +" FOR UPDATE";
OracleDataReader reader = myCmd.ExecuteReader();
using(reader)
{
reader.Read();
OracleLob CLOB = reader.GetOracleLob(column);
int[] content = new int[(int)CLOB.Length];
byte[] buffer = new byte[(int)CLOB.Length];
for(int i = 0;i<(int)CLOB.Length;i++)
{
content[i] = CLOB.ReadByte();
buffer[i] = (byte)content[i];
}
Encoding utf8 = Encoding.UTF8;
string final = utf8.GetString(buffer);
myTrans.Commit();
return final;
}
}
catch(System.Data.OracleClient.OracleException e)
{
myTrans.Rollback();
throw new Exception(e.Message);
}
finally
{
myCmd.Dispose();
myCn.Close();
}