2017-01-11 6 views
1

Я использую Powershell 4 и пытаюсь записать данные в SQL Server 2012.PowerShell 4 SQL Server Вставка

Вот сценарий, я использую

Add-Type -AssemblyName System.Data 

$conn = New-Object System.Data.SqlClient.SqlConnection↵ 
$conn.ConnectionString = "Data Source=<SQLSERVER>;Initial Catalog=SYSINFO;Integrated Security=true;" 
$conn.open() 
$cmd = New-Object System.Data.SqlClient.SqlCommand 

Ошибки я получаю это:

New-Object : Cannot find type [System.Data.SqlClient.SqlConnection] : verify that the assembly containing this type is loaded. 

Я assuemd первую строку (Add-Type) будет загрузить все необходимые сборки под System.Data

Я пропущу что-то очевидное?

+1

Вы можете использовать -PassThru и посмотреть, если тип SQLConnection фактически добавляется? Что-то вроде, Add-Type -AssemblyName "System.Data" -PassThru | ForEach-Object {if ($ _. Name -eq "SqlConnection") {$ _}} –

+0

[Invoke-Sqlcmd] (https://technet.microsoft.com/en-us/library/mt683370.aspx) может быть Полегче. –

ответ

1

Вы можете сделать это следующим образом:

$Server = 'theServer'  
$database = 'theDatabase' 
$Connection = New-Object System.Data.SQLClient.SQLConnection 
$Connection.ConnectionString = "server=$($Server);database=$($Database);trusted_connection=true;" 
$Connection.Open() 
$Command = New-Object System.Data.SQLClient.SQLCommand 
$Command.Connection = $Connection 
$Command.CommandText = 'SELECT TOP 5 * FROM yourTable ORDER BY 1 DESC' 
$Reader = $Command.ExecuteReader() 
$Datatable = New-Object System.Data.DataTable 
$Datatable.Load($Reader) 
$Datatable | Export-Csv report.csv -NoTypeInformation 
$Connection.Close() 
+0

Спасибо, сэр! работа как шарм – HShhanick

+0

Я рад помочь :) – Hackerman