我有一个windows 2012服务器。服务器可以访问我的SQL数据库。我没有访问SQL数据库服务器的权限,也无权在运行我的网站的windows 2012服务器上安装SSMS。
我想使用SqlPackage.exe
来用.dacpac文件更新我的数据库方案
我得到以下错误:
未处理的异常: System.TypeInitializationException:“Microsoft.SqlServer.Dac.DacPackage”的类型初始化程序引发了一个异常。-> System.TypeInitializationException:“Microsoft.SqlServer.Dac.DacServices”的类型初始化程序抛出一个异常。-> System.TypeInitializationException:“SqlSchemaModelStaticState”的类型初始化程序抛出一个异常。-> System.IO.FileNotFoundException:无法加载文件或程序集'Microsoft.SqlServer.TransactSql.ScriptDom、Version=12.0.0.0、Culture=neutral、PublicKeyToken=89845dcd8080cc91‘或其依赖项之一。系统找不到指定的文件。
有什么方法可以让SqlPackage.exe
不需要在服务器上安装SSMS就可以获得所需的Microsoft.SqlServer.TransactSql.ScriptDom
?
如果这是不可能的,那么是否有一个存在的独立的执行程序可以完成这项工作?
发布于 2016-12-01 14:49:37
SqlPackage附带了SMSS或SQL数据工具。
除了安装这两个二进制文件中的一个来部署dacpac之外,我认为没有其他选择,在大多数运行visual studio的计算机上也可以这样做,因为sql数据工具是默认的visual的一部分。
发布于 2017-12-09 18:05:39
您可以下载任何这些nuget包(取决于所需的版本和平台)。在那里你会发现任何丢失的DLL。
https://www.nuget.org/packages?q=microsoft.sqlserver.dac+microsoft.sqlserver.dacfx
(也可以直接从包中使用Microsoft.SqlServer.Dac.DacServices
编写自己的C#/Powershell应用程序。)
发布于 2018-09-17 21:41:08
这似乎是“最小”的软件包,我可以安装,但仍然得到工具(sqlpackage.exe)的工作。
Microsoft SQL Server Data-Tier Application Framework (2016年6月30日)
https://www.microsoft.com/en-us/download/confirmation.aspx?id=53013
当我安装它(今天)时,上面将它安装到下面的目录中。
C:\Program \Microsoft Server\130\DAC\bin\SqlPackage.exe
附录:
2020年中期网址更新:
Microsoft SQL Server Data-Tier Application Framework (18.3.1)
https://www.microsoft.com/en-us/download/details.aspx?id=100297
https://stackoverflow.com/questions/40913501
复制相似问题