主要代码如下:
OracleDataReader reader;
略。
while (reader.Read())
{
// fbyte = (byte[])reader[0];
Oracle.DataAccess.Types.OracleClob clob = reader.GetOracleClob(0);
byte[] blob = new byte[clob.Length];
reader.GetBytes(0, 0, blob, 0,(Int32) blob.Length);
char[] cbuffer = new char[clob.Length];
fbyte = new byte[clob.Length];
while ((actual = clob.Read(cbuffer, 0, cbuffer.Length)) > 0) //在这里读一个6M大小的文件 ,会有1分钟,但同事用JAVA只要13秒
{
i++;
string temps = new string(cbuffer, 0, actual);
base64Str = base64Str + temps;
}
OracleDataReader reader;
略。
while (reader.Read())
{
// fbyte = (byte[])reader[0];
Oracle.DataAccess.Types.OracleClob clob = reader.GetOracleClob(0);
byte[] blob = new byte[clob.Length];
reader.GetBytes(0, 0, blob, 0,(Int32) blob.Length);
char[] cbuffer = new char[clob.Length];
fbyte = new byte[clob.Length];
while ((actual = clob.Read(cbuffer, 0, cbuffer.Length)) > 0) //在这里读一个6M大小的文件 ,会有1分钟,但同事用JAVA只要13秒
{
i++;
string temps = new string(cbuffer, 0, actual);
base64Str = base64Str + temps;
}
fbyte = new byte[clob.Length];
while ((actual = clob.Read(cbuffer, 0, cbuffer.Length)) > 0) //在这里读一个6M大小的文件 ,会有1分钟,但同事用JAVA只要13秒
{
i++;
string temps = new string(cbuffer, 0, actual);
base64Str = base64Str + temps;
}
改为:
base64Str += Encoding.Default.GetString(blob);