【问题标题】:"GetDirectoryName" with "1" argument(s): "The path is not of a legal form." - SQL Server VSTS CI-CD deployment带有“1”个参数的“GetDirectoryName”:“路径不是合法形式。” - SQL Server VSTS CI-CD 部署
【发布时间】:2018-11-10 05:36:53
【问题描述】:

我一直在研究 VSTS,以便持续集成/部署到本地服务器。我已经成功地在我的 VSTS Git 存储库中构建了一组虚拟工件,其中包括 Customer 和 Country 表。我已经通过 .dacpac 成功部署了,但我希望通过基于脚本的部署来复制相同的部署。

对于构建,我将发布所有工件,我的 sql 文件位于此处:

在发布任务中,我使用的是 SQL 数据库部署任务。我用于 .sql 而不是 .dacpac 部署的设置如下:

“部署到开发”任务的发布失败,日志如下:

2018-05-31T08:14:21.4218768Z ##[section]Starting: Deploy to Dev
2018-05-31T08:14:21.4233677Z ==============================================================================
2018-05-31T08:14:21.4233951Z Task         : SQL Server Database Deploy
2018-05-31T08:14:21.4234238Z Description  : Deploy to SQL Server Database using DACPAC or SQL scripts
2018-05-31T08:14:21.4234458Z Version      : 0.3.10
2018-05-31T08:14:21.4234642Z Author       : Microsoft Corporation
2018-05-31T08:14:21.4234859Z Help         : [More Information](https://aka.ms/sqldacpacmachinegroupreadme)
2018-05-31T08:14:21.4235150Z ==============================================================================
2018-05-31T08:14:24.2246881Z ##[error]Exception calling "GetDirectoryName" with "1" argument(s): "The path is not of a legal form."
2018-05-31T08:14:24.2348684Z ##[section]Finishing: Deploy to Dev

我曾认为使用**/*.sql 通配符意味着它将循环遍历所有SQL 文件并执行。我也通过 jsut 要求它执行客户文件 (**/Customer.sql) 来尝试相同的操作并收到相同的错误。

我希望有人可以检查我的配置并找出我的理解不足的地方?

非常感谢。

【问题讨论】:

  • 如果您想运行 SQL 脚本,您可以让 SSDT 生成一个 SQL 脚本然后运行它。您尝试实施的方法将不起作用。您不能只按字母顺序运行 SQL 脚本列表并期望架构会正确更新;架构更改经常对它们的运行顺序有要求。
  • 你能在这里或在 OneDrive 上分享详细日志吗? (添加 system.debug 变量并将其设置为 true,然后开始发布)你能用一个新项目重现这个问题吗?如果是这样,您可以在 OneDrive 上共享示例项目。
  • @DanielMann OP 是对的。我使用 DacPac 选项 ok,然后尝试运行一些使用通配符数字命名的部署后脚本,我遇到了同样的问题。文档具有误导性:Wildcards can be used. For example, **/*.sql for sql file present in all sub folders

标签: sql-server continuous-integration azure-devops continuous-deployment azure-pipelines-release-pipeline


【解决方案1】:

我有同样的问题,并试图放入工作目录变量,它工作。例如 $(System.DefaultWorkingDirectory)/**/*.sql

【讨论】:

    猜你喜欢
    • 2020-04-08
    • 1970-01-01
    • 2016-03-24
    • 2018-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多