2011-10-11 36 views
0

在PowerShell中使用sql server提供程序时,我传递的路径第一次正常工作,但第二次运行时出错了。这就像我必须以某种方式清除驱动器?powershell + sql server provider

例: SL “SQLSERVER:SQL \服务器\ DEFAULT \ DATABASES \ DATABASENAME \表” 运行良好,但在第一次运行。该位置已成功设置。但是,当我第二次运行它时,出现此错误: Set-Location:SQL Server PowerShell提供程序错误:指定的键数与指定此对象所需的键数不匹配。要求红色的键的数量是:Schema.Name。

我正在使用任务powergui btw。请帮忙,这让我很生气。

回答

1

在我看来,你正在使用相对路径(即它不提供提供商后的斜线)。因此,首先你已经将该位置设置为相对于默认的根文件夹。然后,您尝试再次设置该位置,但您已经位于“表格”文件夹中,该文件夹中没有“SQL \ SERVERNAME ...”文件夹。

这是否有意义?

+0

是的,这是有道理的迈克,但每次我尝试设置路径回来似乎并不需要。我将我的位置设置为c:\以尝试“重置”路径,然后只要我尝试将位置设置回sql服务器提供程序位置,就会再次出错。你知道一种“重置”路径的方法吗?为了清除路径,我必须重新启动我的环境,这让我感到非常烦琐。谢谢! –

+0

我还没有尝试过,但在提供者之间切换就像在DOS中的驱动器之间切换。仅仅因为您将您的位置(在C :)上设置为“\”,您在D:上的位置可能是\ temp。尝试做像'set-location sqlserver:\' –

+0

好的...我试了一下。在SQLServer之后添加一个斜杠(因此它读取sl SQLServer:\ SQL \ ...),或者使用类似“sl SQLServer:\”的命令更改为使用set-location之间的根。 –