Farrukh Sarmad
Farrukh Sarmad

Reputation: 335

ORA-01460: unimplemented or unreasonable conversion requested-uploading files

Following is the code to upload file in party_images table.

protected void upload_Click(object sender, EventArgs e)
{
    try
    {
        using (OracleConnection connection = new OracleConnection(conString))
        {
            connection.Open();
            string filename = Path.GetFileName(FileUpload1.FileName);
            string[] tokenize = filename.Split('.');
            FileUpload1.SaveAs(Server.MapPath("~/files/") + descBox.Text + "." + tokenize[1]);

            string sourceLoc = Server.MapPath("~/files/" + descBox.Text + "." + tokenize[1]);
            FileStream fs = new FileStream(sourceLoc, FileMode.Open, FileAccess.Read);
            byte[] ImageData = new byte[fs.Length];
            fs.Read(ImageData, 0, System.Convert.ToInt32(fs.Length));
            fs.Close();
            String block = " BEGIN " +
                           " INSERT INTO party_images(party_id, sr_no, descr, party_image) VALUES ('"+Session["userId"]+"',"+srNo.Text+",'"+descBox.Text+"."+tokenize[1]+"', :1); " +
                           " END; ";
            OracleCommand cmd = new OracleCommand();
            cmd.CommandText = block;
            cmd.Connection = connection;
            cmd.CommandType = CommandType.Text;
            OracleParameter param = cmd.Parameters.Add("blobtodb", OracleDbType.LongRaw);
            param.Direction = ParameterDirection.Input;
            param.Value = ImageData;
            cmd.ExecuteNonQuery();
            descBox.Text = "";
            srNo.Text = "";
        }
    }
    catch (Exception ex) {
            ClientScript.RegisterStartupScript(this.GetType(), "unSuccessMessage", "window.onload = function(){ alert('"+ex.Message+"')};", true);     
    }
    finally
    {
        populateGrid(loadFromDb());
    }
}

table description is,

PARTY_ID is VARCHAR2(10)

SR_NO is NUMBER

DESCR is VARCHAR2(50)

PARTY_IMAGE is LONG RAW()

This function is uploading all the files i.e., images,.docx,.pdf,.sql but when I upload any .docx containing screen shots or pictures then the upper error appears.

I have tried the following links,

ORA-01460: unimplemented or unreasonable conversion requested

The requested format conversion is not supported.

ORA-01460: unimplemented or unreasonable conversion requested

But I haven't got any solution. How can I upload any type of file without having this error?

Upvotes: 2

Views: 2923

Answers (1)

APC
APC

Reputation: 146329

Why are you using LONG RAW to store binary objects? That's a datatype which has been deprecated for over twenty years.

If you define PARTY_IMAGE as a BLOB (or maybe BFILE) you will find it a lot easier to work with. Find out more.

Upvotes: 2

Related Questions