首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >从PowerShell连接到SQL Server数据库

从PowerShell连接到SQL Server数据库
EN

Stack Overflow用户
提问于 2014-09-05 17:27:58
回答 7查看 223.6K关注 0票数 42

我已经在网上看了一段时间了,发现了很多类似的问题,但由于某种原因,我似乎无法让它工作。

我只是尝试连接到SQL server数据库并将查询结果输出到一个文件中-请参阅下面的PowerShell脚本。我不确定的是如何将用户ID和密码集成到连接字符串中。

代码语言:javascript
复制
$SQLServer = "aaaa.database.windows.net"
$SQLDBName = "Database"
$uid ="john"
$pwd = "pwd123"
$SqlQuery = "SELECT * from table;"
$SqlConnection = New-Object System.Data.SqlClient.SqlConnection
$SqlConnection.ConnectionString = "Server = $SQLServer; Database = $SQLDBName; Integrated Security = True; User ID = $uid; Password = $pwd;"
$SqlCmd = New-Object System.Data.SqlClient.SqlCommand
$SqlCmd.CommandText = $SqlQuery
$SqlCmd.Connection = $SqlConnection
$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter
$SqlAdapter.SelectCommand = $SqlCmd
$DataSet = New-Object System.Data.DataSet
$SqlAdapter.Fill($DataSet)

$DataSet.Tables[0] | out-file "C:\Scripts\xxxx.csv"

收到以下错误消息:

使用"1“参数调用"Fill”时出现异常:“此版本的SQL Server不支持Windows登录。”

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2014-09-05 17:30:50

在连接字符串中将Integrated security更改为false。

您可以通过使用您拥有的用户名/密码打开SQL management studio来检查/验证这一点,并查看是否可以从那里连接/打开数据库。注意!也可能是防火墙问题。

票数 21
EN

Stack Overflow用户

发布于 2014-09-06 05:48:26

Integrated SecurityUser ID \ Password身份验证是互斥的。要以运行代码的用户身份连接到SQL Server,请从连接字符串中删除User IDPassword

代码语言:javascript
复制
$SqlConnection.ConnectionString = "Server = $SQLServer; Database = $SQLDBName; Integrated Security = True;"

要使用特定凭据进行连接,请删除Integrated Security

代码语言:javascript
复制
$SqlConnection.ConnectionString = "Server = $SQLServer; Database = $SQLDBName; User ID = $uid; Password = $pwd;"
票数 31
EN

Stack Overflow用户

发布于 2015-03-03 13:39:30

代码语言:javascript
复制
# database Intraction

$SQLServer = "YourServerName" #use Server\Instance for named SQL instances!
$SQLDBName = "YourDBName"
$SqlConnection = New-Object System.Data.SqlClient.SqlConnection
$SqlConnection.ConnectionString = "Server = $SQLServer; Database = $SQLDBName; 
User ID= YourUserID; Password= YourPassword" 
$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() 

#End :database Intraction
clear
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25682703

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档