You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell 7中Invoke-Sqlcmd连接数据库报错,请求排查问题原因

问题根源

Invoke-Sqlcmd是微软专门给SQL Server开发的命令行工具,它默认只支持SQL Server的通信协议,完全不兼容MySQL数据库。你用它连接MySQL,自然会触发找不到服务器的错误——因为它根本不知道怎么和MySQL打交道。

可行解决方案

方案1:用官方MySQL PowerShell模块

  1. 先安装MySQL官方的PowerShell模块:
Install-Module -Name MySQLConnector -Scope CurrentUser
  1. 用模块提供的.NET类执行查询:
$Server = 'localhost'
$Database = 'db'
$Query = "SELECT 'This is output'"
$Username = 'root'
$Password = 'pass'

# 构建连接字符串并建立连接
$connStr = "server=$Server;user id=$Username;password=$Password;database=$Database;"
$conn = New-Object MySql.Data.MySqlClient.MySqlConnection($connStr)
$conn.Open()

# 执行查询并读取结果
$cmd = $conn.CreateCommand()
$cmd.CommandText = $Query
$resultReader = $cmd.ExecuteReader()
while ($resultReader.Read()) {
    Write-Host $resultReader[0]
}

# 记得关闭连接
$conn.Close()

方案2:直接调用mysql命令行工具

既然你已经能在PowerShell里正常用mysql命令,直接用它执行查询更简单,不用额外装模块:

$Server = 'localhost'
$Database = 'db'
$Query = "SELECT 'This is output';"
$Username = 'root'
$Password = 'pass'

mysql -h $Server -u $Username -p$Password -D $Database -e "$Query"

内容的提问来源于stack exchange,提问作者Роман Рослый

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 16:07:07