Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无效的参数绑定参数名称:文件_C#_Oracle_Insert - Fatal编程技术网

C# 无效的参数绑定参数名称:文件

C# 无效的参数绑定参数名称:文件,c#,oracle,insert,C#,Oracle,Insert,我正在编写一个方法,将数据插入C#中的oracle中。在执行此操作时,我得到 错误无效的参数绑定参数名称:文件 我的代码是: public static void DatabaseFilePut(MemoryStream fileToPut, OracleConnection con) { try { const string preparedCommand = @"INSERT INTO user_a

我正在编写一个方法,将数据插入C#中的oracle中。在执行此操作时,我得到 错误
无效的参数绑定参数名称:文件

我的代码是:

public static void DatabaseFilePut(MemoryStream fileToPut, OracleConnection con)
    {
        try
        {
           const string preparedCommand =
                @"INSERT INTO user_account_statement (statement_id,session_key,
                  login_id,user_id,account_number,from_date,todate,ipaddress,
                  create_date_time,STATEMENT_FILE)VALUES(1073,
                 'fe79e0345986b5a439c26f731234868b53f877366f529',
                  2335,'204254','108142',to_date('2014-08-23 16:45:06','yyyy-mm-dd hh24:mi:ss'),
                  to_date('2014-08-23 16:45:06','yyyy-mm-dd hh24:mi:ss'),'106.79.126.249',
                  to_date('2014-08-23 16:45:06','yyyy-mm-dd hh24:mi:ss'), :file)";

            using (var sqlWrite = new OracleCommand(preparedCommand, con))
            {
                sqlWrite.BindByName = true;
                var blobparameter=new OracleParameter
                {
                    OracleDbType = OracleDbType.Blob,
                    ParameterName = "file",
                    Value = fileToPut
                };
                sqlWrite.Parameters.Add(blobparameter);
                sqlWrite.ExecuteNonQuery();
            }
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.ToString());
        }
    }

我已经检查了参数部分,但没有得到确切的错误所在。

参数需要一个字节数组。我不知道它也接受内存流。所以

Value = fileToPut
应该是

Value = fileToPut.ToArray()

现在我得到了错误“ORA-01745:invalid host/bind variable name”,您可能应该添加来自另一个答案的提示,并使用@符号作为参数。您正在使用的是
ODP.NET
,不是吗?@Ashok\u Karale:“file”可能是一个保留字。尝试更改参数名称。通过@Cory,你太棒了。我更改了参数名称并解决了问题。