我们正在开发一个远程连接到MSSqlServer 2012数据库的Apache + ZF2 + Doctrine 2(Linux Debian)项目。对于db通信,我们使用pdo_dblib和LeaseWeb / LswDoctrinePdoDblib驱动程序。我们使用注释创建实体并通过学说工具推送它们。当我们使用唯一约束时会出现问题。 “unique = true”或“uniqueConstraints = {@ UniqueConstraint ...”。 SqlServer返回错误“1935”。此错误的定义是“无法创建索引。对象是在以下设置选项关闭的情况下创建的”。
当我们在Windows下的同一系统中安装Apache + ZF2 + Doctrine 2 + MSSqlServer时,一切正常。
更新 它与ansi_nulls有关。如何使用doctrine将它们设置为开启?
答案 0 :(得分:0)
好的,我解决了。
在SQL Server的SQL Server Management Studio中:
1)转到您的数据库。右键单击。
2)选择“属性”。
3)转到左侧栏菜单中的“选项”。
4)将以下内容设置为“TRUE”。
ANSI NULL Default
ANSI NULLS Enabled
ANSI PADDING Enabled
ANSI Warnings Enabled
Concatenate Null Yields Null
Quoted Identifiers Enabled