我正在尝试创建一个shell脚本来运行查询并存储输出,到目前为止,我的脚本如下所示:
push-location;
import-module SqlPs;
Pop-Location;
$myData = invoke-sqlcmd -InputFile "C:\<path>\blah.sql" -serverinstance dbatest -database testdb;
$mydata | out-file C:\Users\<path>\shelloutput.csv;
remove-module sqlps;它加载SqlPs很好,我可以用Get-Module -ListAvailable来检查它

但是当我做invoke-sqlcmd的时候,它没有被认可:

对我还能做什么有什么想法吗?
编辑1
当我添加选项-Verbose时,我会看到以下错误

说有些文件已经存在了。此错误是否阻止我加载模块?当我执行Get-Module时,它不会列出SQLPS模块。
编辑2
加载32位版本可以减少错误,但加载files...now的错误仍然存在,与前面的5个文件相比,只缺少2个文件。

发布于 2022-03-08 18:02:03
在我的系统中,我发现在路径中有几个sql引用32位(Program (x86))路径,先于64位路径。我把所有32位路径移到64位路径下面,它清除了问题。
https://stackoverflow.com/questions/31343611
复制相似问题