我试图将我的图像存储到具有blob数据类型的数据库中,并且我创建了一个名为byte的blob,它存储了该图像的所有内容。我创建了一个名为ReadFile(FullPath)
的方法来获取图像内容,但在存储此值时,我收到了以下错误:
ORA-00984:此处不允许列
请帮我解决这个问题。
string file_id_is = db.getData(select_fileid_query).ToString();
int I_File_Id = Convert.ToInt32(file_id_is);
string FileName = System.IO.Path.GetFileName(PostedFile.FileName);
string FileContentType = System.IO.Path.GetFileName(PostedFile.ContentType);
string FullPath = System.IO.Path.GetFullPath(PostedFile.FileName);
byte[] blob = ReadFile(FullPath);
string Query = "insert into JOINTING_FILES_DETAILS (ID,DRAFTSMAN_FILES_ID,FILE_NAME,CONTENT_TYPE,DATA)
values (JOINTING_UPLOADED_SEQ.NEXVAL,:file_id,:FileNameis,:FileType,:BlobParameter)";
using (OracleCommand cmd2 = new OracleCommand(Query, connection.get()))
{
try
{
cmd2.Parameters.Add("file_id", I_File_Id);
cmd2.Parameters.Add("FileNameis", FileName);
cmd2.Parameters.Add("FileType", FileContentType);
cmd2.Parameters.Add("BlobParameter", blob);
cmd2.ExecuteNonQuery();
}
catch(Exception e)
{
Response.Write(e.Message)
}
}
答案 0 :(得分:2)
看起来您为了访问序列的下一个值而输入了拼写错误。以下是documentation使用此
所以尝试改变
JOINTING_UPLOADED_SEQ.NEXVAL
到
JOINTING_UPLOADED_SEQ.NEXTVAL