支持索引视图的会话设置

2024-03-06

我在数据库中使用索引视图。因此客户端应该有一些会话连接设置来调用它们。我正在使用 ado.net 连接,命令调用存储过程。 每次我必须调用存储过程时,我都会创建连接(我希望连接池允许我快速完成此操作)并执行命令以将这些设置应用到当前连接。

// some code to create a new connection
 //...
 //... 

 if (connection.State != ConnectionState.Open)
 {
     connection.Open();
 }



    using (var cmd = connection.CreateCommand())
    {
        cmd.CommandType = CommandType.Text;
        cmd.CommandText =
                            @"
                    SET ANSI_NULLS ON
                    SET ANSI_PADDING ON
                    SET ANSI_WARNINGS ON
                    SET ARITHABORT ON
                    SET CONCAT_NULL_YIELDS_NULL ON
                    SET QUOTED_IDENTIFIER ON
                    SET NUMERIC_ROUNDABORT OFF";
        cmd.ExecuteNonQuery();
    }

其他想法:在每次调用存储过程之前添加这些设置:

command.CommandText = 'SET....';
command.CommandText += ' EXEC MyStroredProc @...'; 

这个解决方案会导致一些性能问题,不是吗?

如果每次都必须创建新连接,如何避免额外的工作?如何自动应用这些设置?

解决方案:

ALTER DATABASE [MyDB] 
    SET 
    ANSI_NULLS ON,
    ANSI_PADDING ON,
    ANSI_WARNINGS ON,
    ARITHABORT ON,
    CONCAT_NULL_YIELDS_NULL ON,
    QUOTED_IDENTIFIER ON,
    NUMERIC_ROUNDABORT OFF

根据文档 http://msdn.microsoft.com/en-us/library/ms190356.aspx,您可以在数据库级别设置这些设置:

使用 ALTER DATABASE 设置的数据库设置仅在数据库级别有效,并且仅在显式设置时才生效。数据库设置会覆盖使用 sp_configure 设置的实例选项设置。

你尝试过吗?

不幸的是,这个属性不能在连接字符串中设置,所以使用这个sql:

ALTER DATABASE dbname SET ANSI_NULLS ON
-- etc
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

支持索引视图的会话设置 的相关文章

随机推荐

  • 计算从 A 到 B 的动画

    我正在更新一个numeric value里面一个element通过间隔做ajax requests 为了让整个事情更加生动 我想从current的价值new一 部分地内或减少 the value超过一段时间n sec 所以基本上是这样的 d
  • 有没有办法在 MSAL.js 中查找身份验证是否遵循 MSA 还是 Azure AD

    我尝试使用此处提供的代码 https github com Azure Samples active directory javascript singlepageapp dotnet webapi v2 https github com
  • 使用 Mercurial,如果经常提交中间状态,如何与固定修订版进行比较?

    使用 Mercurial 假设我做了一个hg pull and hg up现在本地存储库和工作目录都是最新的 如果我经常提交 比如 1 天后 然后 2 天后 并且想要与现在的修订版本进行比较 该怎么办 否则 差异始终与先前提交的版本进行比较
  • 将 ruby​​ 数组转换为连续对数组

    将 ruby 数组转换为连续元素对的数组的最简单方法是什么 I mean x a b c d 预期结果 y gt a b c d Use Enumerable each slice http ruby doc org core 2 0 0
  • 使用VBA从网站上的表格中检索标签并放入Excel中

    我正在尝试从以下位置检索信息 td 网站上的标签 它有效 但我似乎无法从第二个中获取文本 td 标签在一个 tr 标签 同时使用条件语句来获取第二个标签 因为这是我认为有效的唯一方法 该代码可以很好地提取信息 我只是不知道如何在我在第一个中
  • TypeScript - 将布尔值作为 void 函数返回的函数

    如示例中所示 如果我有一个 void 函数的类型定义 则返回布尔值的函数将通过该类型检查 这是一个错误还是有正当理由 有解决方法吗 type ReturnsVoid gt void type ReturnsNumber gt number
  • Keras Convolution2D 输入:检查模型输入时出错:预期 volution2d_input_1 具有形状

    我正在努力通过这个很棒的教程 https blog keras io building powerful image classification models using very little data html关于使用 Keras 创
  • Python-用另一个单词替换单词[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有 12 个单元格的 html 表格 每个单元格都有一个要替换的单词 所有的词都是相同的 我还有一个包含 12 个元素的列表 每个元
  • 如何在 C# WEB API 中返回 JSON Web 令牌?

    我正在尝试使用 JWT 来保护用 C 编写的 WEB API 但我对一些事情感到困惑 根据我的理解 流程应该是这样的 客户端从某些客户端应用程序 Angular NET Mobile 等 向 Web API 提供用户名 密码 Web API
  • 哪种传感器适合旋转 Android 手机?

    想象一下你指着电视 您手里紧握着手机 现在 旋转手腕 我需要使用哪个传感器来检测这样的运动 陀螺仪 方向 加速度计 传感器TYPE MAGNETIC FIELD and TYPE ACCELEROMETER可以很好地检测到这一点 如TYPE
  • PySide:QPushButton 按下后保持突出显示

    在我的工具中 当用户按下按钮时 会创建一个弹出窗口 我的问题是 用户按下打开窗口的按钮在弹出窗口创建时保持突出显示 就像我将鼠标悬停在它上面一样 并且即使在弹出窗口被删除后仍然保持这种状态 我实际上喜欢弹出窗口处于活动状态时的此突出显示 它
  • 相当于 ASP.NET 中的 ASP.NET MVC TempData

    在 ASP NET MVC 中 有一个 TempData 可以将数据一次从一个页面传递到另一页面 在 ASP NET 中这相当于什么 没有直接的等效项 即仅传递到下一页的数据 您可以使用Session并在接收页面将其清除
  • 保存/提交时重新加载 jqGrid

    我有以下代码可以在双击时进入内联编辑 ondblClickRow function row id if row id null Products jqGrid restoreRow last selected row Products jq
  • 在 Javascript 中模拟 window.location.href

    我对一个使用 window location href 的函数进行了一些单元测试 这并不理想 我宁愿将其传递进去 但在实现中这是不可能的 我只是想知道是否可以模拟这个值而不实际导致我的测试运行器页面实际转到该 URL window loca
  • 对于此场景,在 SQL 中连接多个表

    这是我的表结构 我有3张桌子 会员表 评论表 评论如表 表结构可以在下图中找到 表 会员 user id full name email password image join date 表 专辑 评论
  • 使用Python/Boto/Django构建策略直接上传到S3

    到目前为止 我已经经历了这个问题的多次迭代 搜索了许多不同的示例 并且已经阅读了所有文档 我正在尝试结合 Plupload http www plupload com http www plupload com 与 AWS S3 直接发布方
  • 带有用户输入和选择变量的 Jenkinsfile

    我想使用新的 Jenkinsfile 来完成新的工作 我有 jenkinsfile 它位于单独的存储库中 我从另一个 GitLab 存储库获取分支git ls remote在bash中 我将它们存储在变量中 branch1 branch2
  • Ionic 3 - cocoapods 的 xcode 错误

    我尝试构建一个带有推送通知的 ionic 3 应用程序 但我在 iOS 部署方面遇到了一些问题 我在 xcode 中遇到了 3 个错误 diff Podfile lock No such file or directory diff Man
  • 为什么 GHC 使修复变得如此令人困惑?

    查看 GHC 源代码我可以看到定义fix is fix a gt a gt a fix f let x f x in x 在一个例子中fix像这样使用 fix f x gt let x x 1 in x f x 这基本上会产生一系列加一到无
  • 支持索引视图的会话设置

    我在数据库中使用索引视图 因此客户端应该有一些会话连接设置来调用它们 我正在使用 ado net 连接 命令调用存储过程 每次我必须调用存储过程时 我都会创建连接 我希望连接池允许我快速完成此操作 并执行命令以将这些设置应用到当前连接 so