我想把上传的音频,视频文件的多媒体存到Oracle的数据库中,注意存的不是地址,而是二进制数据,我在后台把上传的文件转成字节数组后就把值付给了那个BLOB类型的数据:
Byte [] mediaByte=new Byte[1024];
mediaByte = this.myLoad.FileBytes;
OracleConnection con = new OracleConnection("Data Source=Orcl;User ID=zj;password=zj;");
OracleCommand cmd = new OracleCommand();
cmd.Connection = con;
cmd.CommandText = "P_insert_myMedia";
cmd.CommandType = CommandType.StoredProcedure;
OracleParameter[] parms = new OracleParameter[2];
parms[0] = new OracleParameter(":media_id",OracleType.Number);
parms[1] = new OracleParameter(":mediaFile",OracleType.Blob);
parms[0].Value =10000;
parms[1].Value=mediaByte;
cmd.Parameters.AddRange(parms);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
哪位帮我看下错到哪里了,我明天就要交了,急啊 。
错误提示?
多媒体在数据库中好像类型是image,转成2进制后放进image类型字段中。如果是直接数据库编程看下这里http://database.51cto.com/art/200612/36273_1.htm。
Byte [] mediaByte=new Byte[1024];
mediaByte = this.myLoad.FileBytes;
这里换成 Array.Copy(this.myLoad.FileBytes,0,mediaByte.Length,mediaByte,0);
用BLOB存储没问题,不知道你的程序报什么错误,你可以把错误贴出来,或许是存储过程的问题.