【问题标题】:SqlFileStream exception "An invalid parameter was passed to the function"SqlFileStream 异常“传递给函数的参数无效”
【发布时间】:2019-02-15 17:43:36
【问题描述】:

我遇到了这个异常:

一个无效的参数被传递给函数

尝试从SqlFileStream 创建新实例时。 代码:

var fileStream = new SqlFileStream(strSqlPath, bytArrContext, FileAccess.Write)

我检查了所有非空参数。 我一直在使用这个完全相同的代码,没有任何问题,我不知道现在发生了什么。

【问题讨论】:

  • strSqlPathbytArrContext 到底是什么?
  • @SonerGönül strSqlPath是文件的逻辑路径,bytArrcontext是事务上下文字节数组。
  • @RASHOMON 我想你错过了服务器上的一些配置,请检查这个链接codeproject.com/Articles/128657/How-Do-I-Use-SQL-File-Stream
  • @RezaRahmati 我已经检查了这篇文章,没有帮助:(但感谢您的回复
  • @RASHOMON 作为另一个说明,您是否检查过 Server 上存在 strSqlPath 的文件夹部分?

标签: c# exception sqlfilestream


【解决方案1】:

这是因为交易。请在事务范围内执行此操作。

【讨论】:

    【解决方案2】:

    当前的答案对我来说不够具体。 本质是:

    new SqlFileStream(dataRow["FileStreamPath"].ToString(), (byte[])dataRow["TransactionContext"], FileAccess.Read)

    应该在TransactionScope内调用。

    当您想使用 SqlFileStream 时,您仍然必须在事务中。您可以将其转换为例如常规 MemoryStream 以在事务之外使用它。

    【讨论】:

      猜你喜欢
      • 2015-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-01
      相关资源
      最近更新 更多