Skip to content

DacPac file is searched in upper case form during the deployment. Could break deployment in some environments like Turkish. #383

Description

  • SqlPackage or DacFx Version: SqlPackage 162.1.172.1, DacFx (162.1.167)
  • .NET Framework (Windows-only) or .NET Core: net6.0
  • Environment (local platform and source/target platforms): Turkish system

Steps to Reproduce:
We have Database project built in Database.dacpac that referenced other database project that creates for example "Tiny.Database.SqlDatabase" ('i' in name is important). Output and references are in proper case and the files are named as it should be (Tiny.Database.SqlDatabase.dacpac).

When we are trying to deploy database in Turkish environment, we are getting error:
Error SQL0: The reference to external elements from the source named 'Tiny.Database.SqlDatabase.dacpac' could not be resolved, because no such source is loaded.

It doesn't matter if we are using SqlPackage or our tool using DacFx.

There is this information in DiagnosticsFile:
Microsoft.Data.Tools.Diagnostics.Tracer Information: 0 : 2024-01-23T05:52:27 : Searching for file TINY.DATABASE.SQLDATABASE.DACPAC using relative path C:\Artifacts Microsoft.Data.Tools.Diagnostics.Tracer Information: 0 : 2024-01-23T05:52:27 : Searching for file TINY.DATABASE.SQLDATABASE.DACPAC in directory C:\Artifacts Microsoft.Data.Tools.Diagnostics.Tracer Information: 0 : 2024-01-23T05:52:27 : Searching for file TINY.DATABASE.SQLDATABASE.DACPAC using absolute path D:\A002AGENT-1\11\A\DATABASE\TINY.DATABASE.SQLDATABASE.DACPAC Microsoft.Data.Tools.Diagnostics.Tracer Information: 0 : 2024-01-23T05:52:27 : Cannot resolve file path, directory 'D:\A002AGENT-1\11\A\DATABASE' does not exist Microsoft.Data.Tools.Diagnostics.Tracer Information: 0 : 2024-01-23T05:52:27 : Searching for file MASTER.DACPAC using relative path C:\Artifacts Microsoft.Data.Tools.Diagnostics.Tracer Information: 0 : 2024-01-23T05:52:27 : Searching for file MASTER.DACPAC in directory C:\Artifacts Microsoft.Data.Tools.Diagnostics.Tracer Information: 0 : 2024-01-23T05:52:27 : Resolved file MASTER.DACPAC using path C:\Artifacts\master.dacpac Microsoft.Data.Tools.Diagnostics.Tracer Error: 19 : 2024-01-23T05:52:28 : Microsoft.SqlServer.Dac.DacServicesException: An error occurred during deployment plan generation. Deployment cannot continue. Error SQL0: The reference to external elements from the source named 'Tiny.Database.SqlDatabase.dacpac' could not be resolved, because no such source is loaded.

When we rename the file Tiny.Database.SqlDatabase.dacpac to TINY.DATABASE.SQLDATABASE.DACPAC deployment works. Without that there is problem with upper I, because in Turkish locale it is not 'I', but 'İ' and the file is not found because of that.

The issue is similar to microsoft/azuredatastudio#11455, but it is not fixed in SqlPackage or DacFx.

(DacFx/SqlPackage/SSMS/Azure Data Studio)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions