使用MSSQL的ARITHABORT

时间:2016-06-17 11:02:13

标签: php sql-server

我在查询下运行以获取逗号分隔值,这在我的环境中工作正常但是当我尝试在客户端环境中运行时,我收到错误SELECT失败,因为以下SET选项具有不正确的设置:'ARITHABORT'。验证SET选项是否正确,以便与计算列和/或筛选索引和/或查询通知和/或XML数据类型方法和/或空间索引操作的索引视图和/或索引一起使用。

$rolesrequirement = Connection::queryBuilder()
            ->select("max(c.title) as title, STUFF((SELECT ', ' + CAST(rc.roleid AS VARCHAR(10)) [text()]
                     FROM edoc_link_role_competence as rc  
                     WHERE rc.competenceid = c.id 
                     FOR XML PATH(''), TYPE)
                    .value('.','NVARCHAR(MAX)'),1,2,' ') as roleid")
            ->from('edoc_competence', 'c')
            ->leftJoin('c', 'edoc_link_role_competence', 'rc', 'rc.competenceid = c.id')
            ->where('c.installationid = :id')
            ->groupBy('c.id')
            ->setParameter(':id', $iid)->execute()->fetchAll(PDO::FETCH_OBJ);

我正在使用MSSQL -2010并在客户端环境中使用它的2008 任何人都可以有相同的经历_?

1 个答案:

答案 0 :(得分:0)

尝试在服务器级别设置ARITHABORT ON。 请尝试以下链接获取帮助。

https://blogs.msdn.microsoft.com/mikkole/2014/01/02/queries-failing-because-of-the-arithabort-setting/