首页 > 解决方案 > 未找到调用 sql cmdlet/batchparser.dll

问题描述

尝试调用 invoke-sqlcommand cmdlet 时出现以下错误

“invoke-sqlcmd:无法加载文件或程序集'Microsoft.SqlServer.BatchParser,Version=14.100.0.0,Culture=neutral,PublicKeyToken=89845dcd8080cc91'或其依赖项之一。系统找不到指定的文件。在第 1 行字符:1"

我使用了导入模块 SQLServer。我的系统上还有 SSMS 2017 以及 Visual Studio 2017 batchparser.dll 是正确的版本,甚至与错误脚本位于同一目录中,但我仍然收到此错误。

即使是简单的命令,如:invoke-sqlcmd -serverinstance 'xxxx' -query "Select @version"失败。

谁能帮我吗?

标签: powershellpowershell-5.0

解决方案


我认为您有这个问题是因为您运行的是 32 位 PowerShell。Invoke-SqlCmd 目前不支持 32 位。

  • 移除了对该模块 64 位操作系统的限制。注意:Invoke-Sqlcmd cmdlet 是唯一不支持 32 位操作系统的 cmdlet。

来源:https ://www.powershellgallery.com/packages/Sqlserver/21.0.17279

运行 PowerShell 64 位,然后重试。


推荐阅读