powershell - 通过 PowerShell 连接到 SQL
问题描述
我正在尝试通过 PowerShell 连接到 SQL 服务器。我尝试使用下面的代码,但我不断收到同样的错误。谁能解释为什么会这样?
param
(
[Parameter(Mandatory)] #servername
[string]$SQLServer,
# [Parameter(Mandatory)] #database
# [string]$SQLDBName,
[Parameter(Mandatory)] #user ID
[string]$uid
)
$pwd = ConvertTo-SecureString "xxx"-AsPlainText -Force #heslo
$SqlConnection = New-Object System.Data.SqlClient.SqlConnection
$SqlConnection.ConnectionString = "Server = $SQLServer; Database = $SQLDBName; User ID= $uid; Password= $pwd"
$SqlCmd = New-Object System.Data.SqlClient.SqlCommand
$SqlCmd.CommandText = 'StoredProcName'
$SqlCmd.Connection = $SqlConnection
$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter
$SqlAdapter.SelectCommand = $SqlCmd
$DataSet = New-Object System.Data.DataSet
$SqlAdapter.Fill($DataSet)
$SqlConnection.Close()
错误如下所示:
使用“1”参数调用“填充”的异常:“用户'目标'登录失败。” 在 C:\Users\salema\Documents\SQL.ps1:24 char:1 + $SqlAdapter.Fill($DataSet) + CategoryInfo : NotSpecified: (:) [], MethodInvocationException + FullyQualifiedErrorId : SqlException
解决方案
您需要调用该Open()
方法来打开 SQL 连接。尝试添加
$pwd = ConvertTo-SecureString "xxx"-AsPlainText -Force #heslo
$SqlConnection = New-Object System.Data.SqlClient.SqlConnection
$SqlConnection.ConnectionString = "Server = $SQLServer; Database = $SQLDBName; User ID= $uid; Password= $pwd"
# Open the SQL connection
$SqlConnection.Open()
推荐阅读
- spring - 将多个 application.yml 从工作目录绑定到 ConfigurationProperties
- android - HILT 是否支持注入泛型类型?
- gcc - make 的 -j 参数必须与核心数完全相同吗?
- elixir - 如何处理 Elixir 中的尝试和救援错误
- jenkins - 用于报告工具的阶段帖子部分中的 Jenkins 管道环境变量
- c# - 如何使用 Parallel.ForEach 从 excel 文件中读取单元格数据
- android - 从 ByteArray 播放音频
- asp.net-core - Audit.NET 将 2 个不同的上下文审计到 2 个不同的数据库
- ios - 在 swinject 环境下卡住情节提要控制
- flutter - 如何正确显示拍摄的照片?