Sql server 调用Sqlcmd在ISE中不可用,但可在传统的Powershell主机中工作
我在调用Sqlcmd时遇到了一些问题 从普通的powershell控制台,一切正常。但我无法从ISE使用它 我可以确认加载项已加载Sql server 调用Sqlcmd在ISE中不可用,但可在传统的Powershell主机中工作,sql-server,powershell,Sql Server,Powershell,我在调用Sqlcmd时遇到了一些问题 从普通的powershell控制台,一切正常。但我无法从ISE使用它 我可以确认加载项已加载 >Get-PSSnapin SqlServerCmdletSnapin100 Name : SqlServerCmdletSnapin100 > add-PSSnapin SqlServerCmdletSnapin100 Add-PSSnapin : Cannot add ... SqlServerCmdletSnapin100 ... i
>Get-PSSnapin SqlServerCmdletSnapin100
Name : SqlServerCmdletSnapin100
> add-PSSnapin SqlServerCmdletSnapin100
Add-PSSnapin : Cannot add ... SqlServerCmdletSnapin100 ... it is already added.
当我尝试使用它时
> Invoke-Sqlcmd
The term 'Invoke-Sqlcmd' is not recognized as the name of a cmdlet, function ...
关于这个问题有什么想法吗?我不知道。我得到一个不同的错误,因为我已将ISE设置为使用4.0运行
Invoke Sqlcmd:混合模式程序集是根据运行时版本“v2.0.50727”构建的,如果没有其他配置信息,无法在4.0运行时中加载。不知道。我得到一个不同的错误,因为我已将ISE设置为使用4.0运行
Invoke Sqlcmd:混合模式程序集是根据运行时版本“v2.0.50727”生成的,如果没有其他配置信息,无法在4.0运行时中加载。是否还添加了提供程序管理单元:
在sqlserverprovidersnapin100中添加PsSnapin
这两者都是完整功能所必需的。您是否也添加了提供程序管理单元:
在sqlserverprovidersnapin100中添加PsSnapin
两者都是完整功能所必需的。我看不到您看到的行为。在64位Windows上,SqlServerCmdletSnapin100管理单元似乎仅为64位。您是否有可能尝试从32位ISE使用它?检查标题栏。如果它显示“Windows PowerShell 2.0(x86)”,那么您正在运行32位ISE?我看不到您看到的行为。在64位Windows上,SqlServerCmdletSnapin100管理单元似乎仅为64位。您是否有可能尝试从32位ISE使用它?检查标题栏。如果它说“Windows PowerShell 2.0(x86)”,那么您正在一个脚本中运行32位ISE?,该脚本需要
SqlServerCmdletSnapin100
我使用了以下解决方法:
$Name = SqlServerCmdletSnapin100
$Snapin = Get-PSSnapin -Name $Name -ErrorAction SilentlyContinue
if($Snapin -ne $null) {
Remove-PSSnapin $Name
}
Add-PSSnapin $Name
在一个需要
SqlServerCmdletSnapin100
的脚本中,我使用了以下解决方法:
$Name = SqlServerCmdletSnapin100
$Snapin = Get-PSSnapin -Name $Name -ErrorAction SilentlyContinue
if($Snapin -ne $null) {
Remove-PSSnapin $Name
}
Add-PSSnapin $Name
在x86和64位上进行测试。同样的问题。也许这只是我的机器的问题。在x86和64位上测试。同样的问题。也许这只是我的机器的问题。