[我尝试通过Visual Studio C#中的代码将.dacpac部署到我的MS Sql数据库中,并且每当要部署.dacpac文件时,都会引发此错误:
Microsoft.SqlServer.Dac.DacServicesException:'无法从包中读取架构模型头信息。'
SqlPackageException:不支持模型版本'2.9'。
我经历了多个线程并尝试对其进行修复,但没有任何办法可以解决我的错误。
我为使用Microsoft.SqlServer.Dac导入了Microsoft.SqlServer.Dac-x86 Nuget软件包;命名空间。
我也安装了SSMS18。
当我通过Visual Studios SQL Server对象资源管理器进行操作时,我也可以部署相同的.dacpac文件(那里没有错误并且可以正常运行,但是我需要在代码中进行操作。]]
连接字符串和文件路径都正确。
这是我正在使用的方法(最后一行显示错误):
var dbServices = new DacServices(connString); var dbPackage = DacPackage.Load(new FileStream(dacpacPath, FileMode.Open, FileAccess.Read), DacSchemaModelStorageType.Memory, FileAccess.Read); var dbDeployOptions = new DacDeployOptions { CreateNewDatabase = true }; dbServices.Deploy(dbPackage, NewDBName.Text, upgradeExisting: true, options: dbDeployOptions);
有人可以为此解决吗?
[我尝试通过Visual Studio C#中的代码将.dacpac部署到我的MS Sql数据库中,并且每当要部署.dacpac文件时,都会引发此错误:Microsoft.SqlServer.Dac ....
对于我来说,dacpack Dll(Microsoft.SqlServer.Dac.dll
)的版本错误。它是针对SQL 2015 \Program Files (x86)\Microsoft SQL Server\130\DAC\bin
从x86加载的,而不是针对SQL 2017 \Program Files\Microsoft SQL Server\140\DAC\bin
从x64加载的。