C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了VS2010数据库项目使用ALTER语句生成SQL03070错误大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我在VS2010中sql 2008 R2数据库服务器新设置的数据库项目一直在苦苦挣扎.我不是数据库开发人员/管理员,但由于IT常常出现在桌面上.

我使用SSMS =>创建了表,视图,存储过程和函数的脚本.任务=>生成脚本功能.无论我为脚本生成选择哪个选项,我总是会遇到一些问题,即只要我使用IF NOT EXISTS选项,我就会收到一条sql03070错误,说“在此上下文中无法识别此语句.”.

当我将CREATE […]改为ALTER […]时,我也得到了同样的错误.在Microsoft’s Connect Website上发布一篇文章之后,预计这将是“数据库项目不允许更改,因为它将动态确定是否需要针对特定​​数据库目标的ALTER或CREATE.”很好,但是当我从上下文菜单中选择Execute sql时,如果特定对象已经存在于数据库中,我会收到错误 – 我希望在这种情况下动态生成ALTER语句.

不幸的是,由于数据库中有很多遗留代码/对象,我无法创建或运行完整的部署脚本,因此基本上我的想法是使用VS2010和TFS在更改对象时至少具有源控制的一些优点.数据库.

总是遇到错误sql03070然实际上不是一个选项,并且使用VS2010中的导入数据库对象和设置导入数据库也不能正常工作,因为我没有单个文件用于例如表定义(带键,索引等)但是多个难以处理的文件.

最后一个选项,将脚本的Build Action设置为Not in Build会导致无法对这些文件运行Code Analysis,这是我们也想做的事情.

所以基本上我的问题是我们设置在VS2010中使用数据库项目/ TFS的最佳方法是什么,而不会出现sql03070错误但启用了代码分析?如果我的问题的某些方面可能不够清楚,我会感到非常困惑和道歉,请随时询问更多细节,我会尽力回答.

提前致谢

G.

解决方法

数据库项目背后的想法是,当您执行部署构建时,脚本会生成sql文件(可从“构建”菜单获取).在此之前,您需要“定位”特定数据库.这可以通过Project属性中的Deploy Tab来完成.然后获取Target数据库scheR_854_11845@a,然后获取项目的模式并生成差异的脚本,以使目标数据库与项目相同.希望这是有道理的.

这是一篇很好的文章,可以更好地解释这一点.

http://blogs.msdn.com/b/gertd/archive/2009/06/05/declarative-database-development.aspx

最好的运气,

C

大佬总结

以上是大佬教程为你收集整理的VS2010数据库项目使用ALTER语句生成SQL03070错误全部内容,希望文章能够帮你解决VS2010数据库项目使用ALTER语句生成SQL03070错误所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。