使用Powershell从SQL Server中提取信息

时间:2015-07-20 18:49:09

标签: sql-server powershell

我的任务是从SAP提取信息并将其交叉引用到从Active Directory中提取的信息。我需要明确完成的第一步是弄清楚如何从SQL Server中提取某些信息。这是我到目前为止(感谢这里有几位回答过类似问题的用户):

$SQLServer = "WEB-PRDSQ"
$SQLDBName = "PRD"
$SqlQuery = "SELECT * from prd.ZEMPLOYEE;"
$SqlConnection = New-Object System.Data.SqlClient.SqlConnection
$SqlConnection.ConnectionString = "Server = $SQLServer; Database = $SQLDBName; User ID = DELETED; Password = DELETED;"
$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\SQL\SQLData.csv"

这是它给我的输出:http://i.imgur.com/R6Y5HU2.png

首先,这是一个难看的布局,当有145,361行文本时难以阅读。 2,我不需要所有这些信息。我需要的只是他们的sAMAccountName(我不认为这是输出之一,但它在AD中被称为它),Emp_ID,Status,Hire_Date,Location,Emp_Title,LastLogonDate(再一次,不要将此视为输出,但我知道它在AD中,最后是Term_Date。

当我尝试从prd.ZEMPLOYEE"更改" SELECT *时并更改* for Status,Hire_Date等,它会出现错误"无效的列名称'状态'" (或者我先列出的任何专栏)

那里有人有耐心帮助我完成这项工作并帮助我创造这个吗?我只参加了一个数据库课程,所以我知道我在说什么,但也不知道这可能需要的错综复杂的细节。我愿意帮助提供我需要的任何信息。

1 个答案:

答案 0 :(得分:0)

早先的谈话......

数据库归类区分大小写,并且列名必须与Select * From...查询的结果文件中显示的相同大小写匹配。

实施例: Select EMP_ID, STATUS From prd.ZEMPLOYEE