当我在本地系统上使用CFDBINFO时,它会准确地获取默认列值并返回它们。在不同的系统上,它没有(它似乎没有注意到任何默认约束)。
两个系统都使用CF 9,0,1,274733并且两者都连接到MSSQL Server 2008.两个系统上的代码(包括构建表的脚本)是相同的(相同的repo,相同的版本#)。 (我还在第三个系统上运行测试并得到了准确的结果)
我已经使用多个不同的表测试了这个问题,并且每次都会发生这种情况:任务服务器上永远不会返回默认值。我从头开始制作新表,全新的名字,全新的数据库,仍然看到问题。我没有看到内省结果有任何其他差异 - 实际上FK和其他约束似乎很好。
根本不知道如何调试它。似乎与缓存无关。系统完全相同。有一些拜占庭式的设置吗?也许是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位)(Build 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(Build 7601: Service Pack 1)(管理程序)
几乎相同,除了(管理程序)位 - 不确定是否值得追求。
回答:确保db用户具有ddl_admin权限。
答案 0 :(得分:1)
我会尝试以下方法:
并排比较每台服务器上的cf_root/lib/neo-datasource.xml
文件。它们可能不同。
检查MSSQL服务器的版本是否略有不同。您可能正在查看服务包问题
<强>附录强>
3)在每个DB上,使用&#34;生成脚本&#34;生成脚本以构建所有表,视图,默认值等的功能。比较每个生成的脚本具有的内容
有关1的其他信息,请参阅http://helpx.adobe.com/coldfusion/kb/purpose-location-xml-configuration-files.html