我一直在研究如何在我们的数据库中生成测试数据,以便我们可以测试CRUD操作,而不会遇到插入时的外键约束问题。
我决定采用的方法是通过Visual Studio 2010 Ultimate的数据生成器功能。为我们的特定数据库设置数据生成器计划并不是很困难,但我被数据类型问题所困扰。
具体来说,数据库中的一列设置为Bit类型;但是,数据生成器计划将数据类型设置为int。从这里,我可以选择的唯一生成器选项是数据绑定生成器,整数,顺序数据绑定生成器,SmallInt和TinyInt。
除了名称中包含Int的选项之外的所有选项在运行生成器时都不会生成输出值。使用其中一个Int生成器运行生成器以尝试生成值会导致此错误:
错误1 TSD50003:生成器Int对列[dbo]无效。[Contract_Relationship]。[status] - 类型位
这个错误很明显,因为该列实际上是一个而不是Int。不太明显的是我如何才能将列上的数据类型更改为正确的数据类型。
我试过查看工具>下的数据类型生成器定义。选项>数据库>默认生成器和位属于默认数据生成器类别,该类别与SQL数据类型类别下的布尔类型相关联。
从这里我也无法更改生成器,因为默认数据生成器类别的下拉列表与每个SQL数据类型相关联。尝试更改数据生成器计划中“位”列的数据类型也不起作用,因为它是只读的。
最后,我将列设置为null作为解决方法,但它设置为非null。有没有人对如何将列的数据类型更改为Bit有任何建议?
提前谢谢!
更新:我注意到在开发团队的架构文件中稍微多了一点后,该列实际上设置为创建表.sql文件中的Int数据类型。在我看来,数据生成器用于模式的信息来自这些文件。
创建表文件和SQL Server客户端中的实际数据库之间的列不正确似乎很奇怪,但它可能与我的问题没有直接关系。
如果有人知道如何更改数据生成器中的数据类型,或者甚至数据生成器从中提取架构信息,我仍然会感兴趣。
再次感谢你们所有的时间。