【问题标题】:getting quoted identifier issue in sql在sql中获取带引号的标识符问题
【发布时间】:2023-04-01 10:03:02
【问题描述】:

我面对

SELECT 失败,因为以下 SET 选项的设置不正确:我的生产环境中出现“QUOTED_IDENTIFIER”问题。

相同的存储过程在较低的环境中运行良好。请帮我确定问题。

我使用的是 SQL Server 2008。

我也尝试过重新编译和创建存储过程。

【问题讨论】:

  • 元数据在您的两个环境中说明了什么?具体来说,sys.sql_modules 中的 uses_quoted_identifier 列。该列将说明创建过程时 QUOTED_IDENTIFIER 是否打开。
  • 创建存储过程时开启。
  • 在这两种环境中?正如上面的选择所证实的那样?信任,但要验证。
  • 在它所在的两个环境中..刚刚检查过
  • 那么我的下一个猜测是您的呼叫客户端具有不同的会话设置。我认为你可以通过在inside过程中设置quoted_identifiers来解决这个问题。

标签: sql sql-server sql-server-2008


【解决方案1】:

试试

SET QUOTED_IDENTIFIER ON
 SET QUOTED_IDENTIFIER OFF

【讨论】:

    【解决方案2】:

    您是否在存储过程中使用动态 sql(在字符串中查询并使用 sp_executesql 执行查询字符串)?

    如果是,则在 SP 的开头设置 QUOTED IDENTTIFIER ON 并在末尾设置它

    如果否,则开头的 SET QUOTED IDENTTIFIER OFF

    【讨论】:

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