protected ReadBitmap2ByteArray(string fileName)//文件路径
{//文件读取
FileStream fs = new FileStream(fileName,FileMode.OpenOrCreate);
BinaryReader r = new BinaryReader(fs);
long size = r.BaseStream.Seek(0,SeekOrigin.End);
r.BaseStream.Seek(0,SeekOrigin.Begin);
byte[] buffer = r.ReadBytes((int)size);
r.Close();
fs.Close();
//文件写入
OracleConnection con = new OracleConnection(....);
conn.Open();
OracleCommand insert = new OracleCommand("insert into AAA (SSS) values (:File)",conn);
OracleParameter imageParameter = new OracleParameter(":File", OracleType.Blob);
imageParameter.Value = buffer;
imageParameter.Size = buffer.Length;
insert.Parameters.Add(imageParameter);
insert.ExecuteNonQuery();
conn.Close();
}上面的代码中,我是把文件分析成字节组,然后存入数据库。(也是参考别人的资料)不过我担心,文件如果太大了,字节组也非常大,该怎么做。(请给点意见,或代码)
{//文件读取
FileStream fs = new FileStream(fileName,FileMode.OpenOrCreate);
BinaryReader r = new BinaryReader(fs);
long size = r.BaseStream.Seek(0,SeekOrigin.End);
r.BaseStream.Seek(0,SeekOrigin.Begin);
byte[] buffer = r.ReadBytes((int)size);
r.Close();
fs.Close();
//文件写入
OracleConnection con = new OracleConnection(....);
conn.Open();
OracleCommand insert = new OracleCommand("insert into AAA (SSS) values (:File)",conn);
OracleParameter imageParameter = new OracleParameter(":File", OracleType.Blob);
imageParameter.Value = buffer;
imageParameter.Size = buffer.Length;
insert.Parameters.Add(imageParameter);
insert.ExecuteNonQuery();
conn.Close();
}上面的代码中,我是把文件分析成字节组,然后存入数据库。(也是参考别人的资料)不过我担心,文件如果太大了,字节组也非常大,该怎么做。(请给点意见,或代码)
设置一个最大限额,将文件拆分,传输第一段时,在数据库中插入记录,传输后面的数据时,需要调用procedure,将后面的段与前面的合并。我没有试过,不知道这样行得通不?