sql - 无法从 powershell 正确调用 sqlcmd

标签 sql powershell sqlcmd

我有这个 sqlcmd 片段批量工作,但是当我转换为 powershell 时,它坏了。这就是我尝试使用 powershell 调用的内容

Sqlcmd -S localhost\instance -d database -U username -P password -i "sqlQuery.sql" -s "," > \sqlOutput.csv -I -W -k

我尝试了 invoke-sqlcmd,但收到错误“术语“invoke-sqlcmd”未被识别为 cmdlet、函数、脚本文件或可操作程序的名称”

关于下面的评论,我已经加载了所需的管理单元。这确实有帮助,但我现在收到此错误。 “Invoke-sqlcmd:无法处理参数,因为参数名称“s”不明确。

如果我把它放在单引号中...

invoke-Sqlcmd '-S localhost\instance -d database -U username -P password -i "sqlQuery.sql" -s "," > \sqlOutput.csv -I -W -k'

我收到错误“建立与 sql server 的连接时发生与网络相关或特定于实例的错误。这对我来说没有意义,因为我在这里使用的相同凭据(在同一个盒子上)在以下情况下工作:从批处理中调用。

最佳答案

您必须首先从 powershell 或命令提示符调用 sqlps.exe(假设您安装了适用于 Powershell 的 SQL Server 管理单元)。

完成此操作后,执行 get-help Invoke-Sqlcmd 来找到解决方法。

对于你的问题,它不是-S,而是-ServerInstance

 PS SQLSERVER:\> Invoke-Sqlcmd -ServerInstance "srvrName" -Database "master" -Username "user123" -Password "x$34fth" 
-InputFile "C:\Users\testUser\Desktop\test.sql" | Out-File "C:\Users\testUser\Desktop\out.txt"

您还可以使用MSDN文档

关于sql - 无法从 powershell 正确调用 sqlcmd,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10046809/

相关文章:

sql - 从 JSON 字段的列表列表中查询

windows - 通过cmd/batch/powershell启用Windows 10内置热点

powershell - 基于Windows Server 1709在容器内使用args运行可执行文件

sql - 将COUNT() sql查询的结果保存到powershell中的变量中

sql-server - :out in sql的含义

php - MySQL 错误, "You have an error in your SQL syntax"

sql - 合并2个没有任何关系的表

mysql - 如何处理维基百科转储中的重定向?

powershell - Powershell导出为CSV

powershell - 执行命令不会导致脚本异常