首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VS2010 SQL2008数据库部署脚本中的DefaultDataPath为空

VS2010 SQL2008数据库部署脚本中的DefaultDataPath为空
EN

Stack Overflow用户
提问于 2011-11-17 08:43:16
回答 1查看 939关注 0票数 2

我有一个指向SQL2005数据库的VS2010数据库项目。当我部署它时,它正确地从SQL实例中提取了DefaultDataPath,一切都正常。

今天,我将项目类型从SQL205更改为SQL2008,并将部署属性更改为指向我的SQL2008服务器。然而,现在当我尝试部署时,我得到了这个错误:

代码语言:javascript
复制
Error SQL01268: .Net SqlClient Data Provider: Msg 5105, Level 16, State 2, Line 1 A file activation error occurred. The physical file name '\AutoDeployedTRS.mdf' may be incorrect. Diagnose and correct additional errors, and retry the operation.

Error SQL01268: .Net SqlClient Data Provider: Msg 1802, Level 16, State 1, Line 1 CREATE DATABASE failed. Some file names listed could not be created. Check related errors.

An error occurred while the batch was being executed.

出现此错误的原因是VS创建的SQL脚本包含以下三行:

代码语言:javascript
复制
:setvar DatabaseName "AutoDeployedTRS"
:setvar DefaultDataPath "\"
:setvar DefaultLogPath "\"

如果我检查SQL实例属性(通过UI或通过读取注册表),它们的设置是正确的,因此看起来VS2010出于某种原因无法获取它们。

有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2011-11-18 05:38:37

尝试转到位置架构对象\数据库级别对象\存储\文件。

可以找到两个文件:

打开文件your_database_name.sql,将参数设置为FILENAME = '$(DefaultDataPath)$(DatabaseName).mdf'

然后打开your_database_name_log.sql文件,将参数设置为FILENAME = '$(DefaultDataPath)$(DatabaseName)_log.ldf'

在此之后,尝试部署您的项目。这些参数现在是根据当前目标数据库路径在部署期间定义的。希望能对你有所帮助。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8160756

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档