SQL 来自 powershell 的连接
SQL Connection From powershell
我正在尝试将我的脚本连接到数据库。
以前我用:
psexec \servername -accepteula sqlcmd.exe -U username -P password -S database -Q query
现在,我想将其转换为 powershell 代码。
我正在尝试这个:
Enter-PSSession servername
$SQLCred = New-Object System.Data.SqlClient.SqlCredential("username","password")
$Connection = New-Object System.Data.SqlClient.SqlConnection("Database",$SQLCred)
$Connection.Open()
但我总是得到这个错误:
Exception calling "Open" with "0" argument(s): "Login failed for user 'username'."
当然,我确定凭据是正确的。
这两种连接方式有何不同?
连接字符串中提供了凭据:
$instance = "myInstance"
$userId = "myUserId"
$password = "myPassword"
$connectionString = "Data Source=$instance;Integrated Security=SSPI;Initial Catalog=master; User Id=$userId; Password=$password;"
$connection = New-Object System.Data.SqlClient.SqlConnection
$connection.ConnectionString = $connectionString
$connection.Open()
如果您已有凭证对象,可以这样使用它:
$cred = New-Object System.Data.SqlClient.credential($userId, $password)
$connectionString = "Data Source=$Instance;Integrated Security=SSPI;Initial Catalog=master; User Id = $($cred.username); Password = $($cred.GetNetworkCredential().password);"
$connection = New-Object System.Data.SqlClient.SqlConnection
$connection.ConnectionString = $connectionString
$connection.Open()
$SQLCredential = New-Object System.Data.SqlClient.SqlCredential($SQLUserName, $SQLPassword)
$SQLServerConnection = New-Object System.Data.SqlClient.SqlConnection("Data Source=$SQLInstanceName; Initial Catalog=MASTER")
$SQLServerConnection.Credential = $SQLCredential
try
{
$SQLServerConnection.Open()
}
我正在尝试将我的脚本连接到数据库。 以前我用:
psexec \servername -accepteula sqlcmd.exe -U username -P password -S database -Q query
现在,我想将其转换为 powershell 代码。 我正在尝试这个:
Enter-PSSession servername
$SQLCred = New-Object System.Data.SqlClient.SqlCredential("username","password")
$Connection = New-Object System.Data.SqlClient.SqlConnection("Database",$SQLCred)
$Connection.Open()
但我总是得到这个错误:
Exception calling "Open" with "0" argument(s): "Login failed for user 'username'."
当然,我确定凭据是正确的。 这两种连接方式有何不同?
连接字符串中提供了凭据:
$instance = "myInstance"
$userId = "myUserId"
$password = "myPassword"
$connectionString = "Data Source=$instance;Integrated Security=SSPI;Initial Catalog=master; User Id=$userId; Password=$password;"
$connection = New-Object System.Data.SqlClient.SqlConnection
$connection.ConnectionString = $connectionString
$connection.Open()
如果您已有凭证对象,可以这样使用它:
$cred = New-Object System.Data.SqlClient.credential($userId, $password)
$connectionString = "Data Source=$Instance;Integrated Security=SSPI;Initial Catalog=master; User Id = $($cred.username); Password = $($cred.GetNetworkCredential().password);"
$connection = New-Object System.Data.SqlClient.SqlConnection
$connection.ConnectionString = $connectionString
$connection.Open()
$SQLCredential = New-Object System.Data.SqlClient.SqlCredential($SQLUserName, $SQLPassword)
$SQLServerConnection = New-Object System.Data.SqlClient.SqlConnection("Data Source=$SQLInstanceName; Initial Catalog=MASTER")
$SQLServerConnection.Credential = $SQLCredential
try
{
$SQLServerConnection.Open()
}