Powershell无法连接到SQL Server
我正在尝试将一些基本数据发送到公司网站上托管的SQL Server。我的web开发人员在服务器端进行了检查,允许连接,但我一直从PowerShell获得以下响应: 使用“0”参数调用“Open”时发生异常:Powershell无法连接到SQL Server,powershell,Powershell,我正在尝试将一些基本数据发送到公司网站上托管的SQL Server。我的web开发人员在服务器端进行了检查,允许连接,但我一直从PowerShell获得以下响应: 使用“0”参数调用“Open”时发生异常: 建立与SQL Server的连接时发生与网络相关或特定于实例的错误。找不到服务器或无法访问服务器。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。(提供程序:命名管道提供程序,错误:40-无法打开到SQL Server的连接) 我已经验证了所有凭证都是正确的。MySQL
建立与SQL Server的连接时发生与网络相关或特定于实例的错误。找不到服务器或无法访问服务器。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。(提供程序:命名管道提供程序,错误:40-无法打开到SQL Server的连接) 我已经验证了所有凭证都是正确的。MySQL Workbench无问题登录到SQL server 这是我的连接码。出于明显的安全原因,编辑连接值
function upload_SQL () {
$SQLServer = "server.com"
$SQLDBName = "DB_Name"
$uid ="User_Name"
$pwd = "Pass"
Write-Host "Attempting to connect to $SQLServer"
$ConnectionString = "Server=$SQLServer; Database=$SQLDBName; Integrated Security=True; User ID=$uid; Password=$pwd;"
$conn = New-Object System.Data.SqlClient.SqlConnection($ConnectionString)
$conn.Open()
$SqlQuery = $conn.CreateCommand()
$SqlQuery.CommandText = "INSERT INTO total2_gariondata.Test () VALUES ('
$DTinfo,
$ClientCode,
$CompCode,
$CPUstat,
$MEMstat,
$DSKstat,
$TimePeriods,
$CritErr1,
$WarnErr1,
$SpaceUsed
');"
$SqlQuery.ExecuteNonQuery()
$conn.Close()
}
新建对象System.Data.SqlClient.SqlConnection
仅适用于MS SQL Server,与MySQL Server不兼容
将其更改为新对象MySql.Data.MySqlClient.MySqlConnection
要使其工作,您至少需要MySQL.NET连接器()中的MySQL.Data.dll
我将dll放在运行Sript的同一文件夹中
更新:
您需要在使用dll之前导入它。
如果dll位于脚本所在的同一文件夹中,则此小脚本适用于我:
Add-Type -Path "$(Split-Path -Parent $MyInvocation.MyCommand.Path)\MySQL.Data.dll"
$SQLServer = "server.com"
$SQLDBName = "DB_Name"
$uid = "User_Name"
$pwd = "Pass"
$Command = New-Object MySql.Data.MySqlClient.MySqlCommand
$conn = New-Object MySql.Data.MySqlClient.MySqlConnection("server=$SQLServer;user id=$uid;password=$pwd;database=$SQLDBName")
$Command.CommandText = "Your Update / Insert Command"
$Command.Connection = $conn
$Command.Connection.Open()
[int]$i = $Command.ExecuteNonQuery()
$Command.Connection.Close()
$i保存受影响的行数代码在哪里运行?在您的桌面上还是在另一台服务器上?代码正在我的工作PC上运行如果代码与MySQL Workbench在同一台机器上运行,并且与MySQL Workbench在同一用户凭据下运行,但是代码没有连接,而Workbench没有连接,那么我所能想到的就是一个错误的连接字符串,或者Workbench和powershell正在使用不同的端口忘了说dll必须导入:
Add Type-Path“$(分割路径-Parent$MyInvocation.MyCommand.Path)\MySQL.Data.dll”
我已经做了您建议的更改。我必须使addtype
命令成为一个直接路径,因为$splitpath
导致了错误。我现在收到以下错误:>请验证是否加载了包含此类型的程序集。谢谢。这一部分现在已经解决,但是mySQL出现了一个拒绝访问错误。密码和用户名都是正确的。我正在本地机器上测试。现在我正在查看所有SQL信息,以找到一种允许这种通信的方法