加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

VS2010数据库项目使用ALTER语句生成SQL03070错误

发布时间:2020-12-16 06:58:25 所属栏目:百科 来源:网络整理
导读:我在VS2010中为SQL 2008 R2数据库服务器新设置的数据库项目一直在苦苦挣扎.我不是数据库开发人员/管理员,但由于IT常常出现在桌面上. 我使用SSMS =创建了表,视图,存储过程和函数的脚本.任务=生成脚本功能.无论我为脚本生成选择哪个选项,我总是会遇到一些问题,
我在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数据库的Schema,然后获取项目的模式并生成差异的脚本,以使目标数据库与项目相同.希望这是有道理的.

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

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

最好的运气,

C

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读