c# 中怎么获取clob内容啊
c#中怎么获取clob的内容?谁有代码啊,我刚入门 ,就遇到这样的问题,执行一个oracle中的一个sql语句,得到的结果是clob,clob的类型估计很难改了,怎么获取啊,我适用getbyes获取,但是报错啊
代码如下,错误是:Specified cast is not valid.
public bool ExecuteProcedures_ora(string procedureName, string tableName, string conditon, ref byte[] returnvalue)
{
OracleConnection connection = new OracleConnection(this.connectionString_Oracle);
try
{
connection.Open();
}
catch(Exception ex)
{
string s =ex.ToString();
}
OracleCommand com = new OracleCommand(procedureName, connection);
try
{
OracleDataReader aReader = com.ExecuteReader(); aReader.Read();
aReader.GetBytes(0,0,returnvalue,1,8000);
System.IO.FileStream stream = new FileStream("C:\\test11.txt",FileMode.Create);
System.IO.BinaryWriter writerBinary = new BinaryWriter(stream);
writerBinary.Write(returnvalue);
writerBinary.Flush();
writerBinary.Close();
}
catch (Exception ex)
{
if (connection.State == ConnectionState.Open)
connection.Close();
return false;
}
if (connection.State == ConnectionState.Open)
connection.Close();
return true;
}
问题点数:50、回复次数:12Top
1 楼anglequhongmei(蛐蛐)回复于 2006-03-07 11:37:07 得分 0
在线等,希望各位同仁帮帮忙啊Top
2 楼anglequhongmei(蛐蛐)回复于 2006-03-07 11:42:18 得分 0
从昨天到今天都没有成功,哪位知道,帮忙吧,呵呵Top
3 楼anglequhongmei(蛐蛐)回复于 2006-03-07 12:15:10 得分 0
自己顶顶,不要沉了。Top
4 楼NeilChen123(木野狐)回复于 2006-03-07 12:20:23 得分 25
try:
returnvalue = (byte[]) aReader.GetValue(0));Top
5 楼anglequhongmei(蛐蛐)回复于 2006-03-07 13:16:05 得分 0
returnvalue = (byte[]) aReader.GetValue(0));
试了,还是有错拉Top
6 楼anglequhongmei(蛐蛐)回复于 2006-03-07 13:20:00 得分 0
有没有其他的方法取clob的类型啊?急啊Top
7 楼anglequhongmei(蛐蛐)回复于 2006-03-07 13:21:05 得分 0
我用的是c#2003,操作系统是winxpTop
8 楼cdo(Everything has a favourable turn)回复于 2006-03-07 14:01:19 得分 25
可以用转成二进制的方式来取得,你可以看看数据库存放image类型的例子。Top
9 楼anglequhongmei(蛐蛐)回复于 2006-03-07 14:13:26 得分 0
能够说具体一点的吗?我还是不太懂哟。Top
10 楼anglequhongmei(蛐蛐)回复于 2006-03-07 14:38:45 得分 0
已经解决了,谢谢,直接用ExecuteScalar就可以了。Top
11 楼NeilChen123(木野狐)回复于 2006-03-07 16:15:58 得分 0
ExecuteScalar 得到 object 类型,
跟 aReader.GetValue(列索引) 是完全相同的。这一点我已经验证过了。
会不会是你的那个列不是选出字段列表里的第 0 列?
我上面写的 0 只是随便举的一个例子。Top
12 楼anglequhongmei(蛐蛐)回复于 2006-03-15 10:47:49 得分 0
NeilChen123()我这个表中就只有一列,所以就直接用ExecuteScalar了,但是我用所有的getvalue或者其他的获取object都得不到。直接报错。我直接将msdn上的例子copy出来都出错。Top




