ORA-00984:这里不允许列?

时间:2016-02-01 07:02:57

标签: c# asp.net database oracle

我试图将我的图像存储到具有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)
    }
}

1 个答案:

答案 0 :(得分:2)

看起来您为了访问序列的下一个值而输入了拼写错误。以下是documentation使用此

所以尝试改变

JOINTING_UPLOADED_SEQ.NEXVAL

JOINTING_UPLOADED_SEQ.NEXTVAL