我有一个使用 OpenQuery 的链接服务器语句:
SELECT mycol1, mycol2, mycol3
FROM OPENQUERY(MYLINKEDSERVER, 'SELECT * FROM mysqldb.table')
上述内容在 SSMS 中毫无疑问地工作。当我使用 PHP MySQL 包装器在 Web 应用程序上运行此查询(使用相同的 SQL Server 凭据)时,我必须插入以下 2 条语句:
设置 ANSI_NULLS 为开
设置 ANSI_WARNINGS ON
我已经阅读了 ANSI_NULLS 和 ANSI_WARNINGS 的定义,但不太明白为什么必须将它们设置为 on 才能在 PHP 中运行查询。
有谁知道原因吗?
我的链接服务器是一个 MySQL 实例。
做了一些挖掘。简而言之,这意味着如果您正在对不是 SQL Server 框的链接服务器运行查询,那么您很可能需要打开这两个功能来标准化处理某些比较运算符的方式不同的数据库。
据说,未来版本的 SQL Server 将默认将 SET_NULLS 设置为 ON,并且没有选项可以更改它
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)