Sql server 2008 CFDBINFO不拾取默认值

Sql server 2008 CFDBINFO不拾取默认值,sql-server-2008,coldfusion,Sql Server 2008,Coldfusion,当我在本地系统上使用CFDBINFO时,它会准确地获取默认列值并返回它们。在另一个系统上,它没有(它似乎没有注意到任何默认约束) 两个系统都使用CF 9,0,1274733,并且都连接到MSSQL Server 2008。两个系统上的代码,包括构建表的脚本,都是相同的(相同的repo,相同的版本)。(我还在第三个系统上进行了测试,得到了准确的结果) 我用多个不同的表测试了这个问题,每次都会出现:在任性服务器上永远不会返回默认值。我已经制作了新的表,从头开始,全新的名称,全新的数据库,仍然看到了这

当我在本地系统上使用CFDBINFO时,它会准确地获取默认列值并返回它们。在另一个系统上,它没有(它似乎没有注意到任何默认约束)

两个系统都使用CF 9,0,1274733,并且都连接到MSSQL Server 2008。两个系统上的代码,包括构建表的脚本,都是相同的(相同的repo,相同的版本)。(我还在第三个系统上进行了测试,得到了准确的结果)

我用多个不同的表测试了这个问题,每次都会出现:在任性服务器上永远不会返回默认值。我已经制作了新的表,从头开始,全新的名称,全新的数据库,仍然看到了这个问题。我没有看到内省结果中的任何其他差异-事实上,FKs和其他约束看起来很好

只是不知道如何调试这个。似乎与缓存无关。系统是完全相同的。有拜占庭式的背景吗?可能是sql连接器有问题?还是java版本?建议???谢谢


根据以下建议在此处添加注释以获得更好的格式:

查看MSSQL版本,我得到:

Microsoft SQL Server 2008 R2(RTM)-10.50.1600.1(X64)2010年4月2日15:48:46版权所有(c)Windows NT 6.1上的Microsoft Corporation Express Edition(64位)(版本7601:Service Pack 1)

Microsoft SQL Server 2008 R2(RTM)-10.50.1600.1(X64)2010年4月2日15:48:46版权所有(c)Windows NT 6.1上具有高级服务(64位)的Microsoft Corporation Express Edition(构建7601:Service Pack 1)(虚拟机监控程序)

几乎一样,除了(虚拟机监控程序)位——不确定这是否值得追求



回答:确保db用户具有ddl_管理权限

我会尝试以下方法:

  • 并排比较每台服务器上的
    cf_root/lib/neo datasource.xml
    文件。它们可能不同

  • 检查MSSQL服务器的版本是否略有不同。您可能正在查看service pack问题

  • 附录

    3) 在每个数据库上,使用“生成脚本”功能生成脚本,以构建所有表、视图、默认值等。比较每个生成脚本的功能


    有关1的更多信息,请参见

    好主意,谢谢。没有neo-query.xml,但是比较了neo-drivers.xml,它们是相同的。尝试比较neo-datasource.xml文件。明白了。有问题服务器上的db用户没有足够的权限访问此元数据。回想起来似乎很明显。(我想总是这样)。比较数据源文件使我走上了这条道路。谢谢我想知道这是否与默认值的设置有关。我不知道他们是不是different@jbd-可能希望将解决方案作为一个单独的“答案”发布,以便更直观。