Sql 为什么部署脚本会导致我出错?
我正在visual studio 2012中从事一个项目。最近,我在解决方案中添加了一个数据库项目。在我将数据库添加到解决方案之前,它已经存在,并且一切正常。 但是,现在,当我尝试运行应用程序时,会出现错误。错误是由计算机生成的名为[database name].sql的文件引起的。在磁贴顶部,它显示:Sql 为什么部署脚本会导致我出错?,sql,database,visual-studio,stored-procedures,deployment,Sql,Database,Visual Studio,Stored Procedures,Deployment,我正在visual studio 2012中从事一个项目。最近,我在解决方案中添加了一个数据库项目。在我将数据库添加到解决方案之前,它已经存在,并且一切正常。 但是,现在,当我尝试运行应用程序时,会出现错误。错误是由计算机生成的名为[database name].sql的文件引起的。在磁贴顶部,它显示: /* Deployment script for [the database name here] This code was generated by a tool. Changes to
/*
Deployment script for [the database name here]
This code was generated by a tool.
Changes to this file may cause incorrect behavior and will be lost if
the code is regenerated.
*/
每次应用程序运行时都会重新创建此文件。出现的错误似乎是语法错误。我无法修复它们,因为我对文件所做的任何更改都是不相关的,因为每次运行都会生成一个新文件,并且错误会再次出现
我试着在网上调查这件事,但遇到了麻烦。这对我来说都是新鲜事
以下是正在创建的一些错误:
GO
:setvar DatabaseName "(the database name is here)"
这给了我三个错误:
Error 88 SQL80001: Incorrect syntax near ':'.
Error 89 SQL80001: 'DatabaseName' is not a recognized option.
Error 90 SQL80001: Incorrect syntax near '"(the database name is here in the code)"'.
此外,还有一行代码如下:
CREATE USER [(the domain)\(the username)] FOR LOGIN [(the domain)\(the username)];
GO
这会产生以下错误:
Error 119 SQL72014: .Net SqlClient Data Provider: Msg 15401, Level 16, State 1, Line 1 Windows NT user or group '(the domain)\(the username)' not found. Check the name again.
从您发布的错误来看,似乎有两个问题:
“DatabaseName”不是可识别的选项。
-这很可能也是由第一个问题引起的,但请仔细检查数据库是否存在
从您发布的错误来看,似乎有两个问题:
“DatabaseName”不是可识别的选项。
-这很可能也是由第一个问题引起的,但请仔细检查数据库是否存在
这个错误消息最近引起了我的注意,因为它与我的问题根本没有关系。事实证明,我的SQL脚本写得不正确(就我的情况而言,我忘了在PK列中添加标识(1,1))
对我来说,这个故事的寓意是首先在SSMS中测试SQL数据文件。最近我发现了错误消息,因为它与我的问题根本没有关系。事实证明,我的SQL脚本写得不正确(就我的情况而言,我忘了在PK列中添加标识(1,1))
对我来说,这个故事的寓意是首先在SSMS中测试SQL数据文件。也许包括实际错误可能会有所帮助。错误是什么?尽管生成错误的代码不能直接更改,但还有另一种方法可以确保生成的代码是正确的。更新:包含错误包含实际错误的Rhaps可能会有所帮助。错误是什么?尽管生成错误的代码不能直接更改,但还有另一种方法可以确保生成的代码是正确的。更新:包含错误