【发布时间】:2013-08-06 18:53:20
【问题描述】:
我正在运行以下命令(我能想到的最小的可重现示例):
Invoke-Sqlcmd "select * from sys.databases" | %{
Invoke-Sqlcmd "select 1"
}
我收到以下错误:
Invoke-Sqlcmd : 找不到任何适合 指定文化或中性文化。确保 “pipeline.resources”已正确嵌入或链接到程序集中 “System.Management.Automation”在编译时,或者说所有的 所需的附属程序集是可加载和完全签名的。在线:1 字符:1 + Invoke-Sqlcmd "select * from sys.databases" | %{ + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidResult: (:) [Invoke-Sqlcmd],MissingManifestResourceException + FullyQualifiedErrorId : ExecutionFailed,Microsoft.SqlServer.Management.PowerShell.GetScriptCommand
累了:
- 同时使用 ISE 和命令行
- 提升(“以管理员身份运行”)和不提升
- 针对 SQL 2012 和 SQL 2008
- 来自 Windows 8 和 Server 2008
在所有情况下,结果都是一样的。
为什么以及如何诊断?
【问题讨论】:
-
我试图了解
select 1的意义。第一个Invoke-Sqlcmd对我有用,我可以通过管道打印数据库名称。但是,我在使用select 1时看到了同样的错误 -
@SrikanthVenugopalan 我相信这是两者的结合。选择 1 显然可以自己正常工作。
标签: powershell powershell-3.0 sqlps