Bonsoir,
Je vous sollicite car je commence à tourner en rond.
Je souhaites créer un bout de code pour pouvoir me connecter à mes machines en Powershell 2.0 (voir 3.0) et requêter SQL Server avec les problématiques suivantes:
- je veux une méthode de chargement et connection rapide
- une méthode qui prend en charge SQL 2005 à 2014 sans changer de méthode de connection si possible.
- un result facile à parser avec des foreach et à découper avec des splits par exemple.
Je fais peut être fausse route avec mon code n'hésitez pas à me proposer d'autres choses.
J'ai essayé un truc du genre :
Je ne suis pas sur de savoir ou cela ne fonctionne pas car quand j’essaye de découper le dataset powershell m'envoi bouler en me disant que c'est un null array.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 # Open SQL connection $sqlConnection = New-Object System.Data.SqlClient.SqlConnection $sqlConnection.ConnectionString = "Server=$ServerInstance;Database=master;Integrated Security=True" # Get Data try { $sqlConnection.Open() if ($sqlConnection.state -eq 'Open') { $sqlDataAdapter = New-Object System.Data.SqlClient.SqlDataAdapter $dataTable = New-Object System.Data.DataTable $sqlCommandSelect = New-Object System.Data.SqlClient.SqlCommand $sqlCommandSelect.CommandText = "SELECT @@VERSION" $sqlCommandSelect.Connection = $sqlConnection $sqlDataAdapter.SelectCommand = $sqlCommandSelect $sqlDataAdapter.Fill($dataTable) | Out-Null $sqlConnection.Close() $dataTable } } catch { Write-Output ($_.Exception.Message) }
J'avais testé des méthodes qui fonctionnent plus facilement du genre SQLPS et les assemblies mais je trouve les assemblies pas souples à charger et SQLPS très lent.
Cordialement.
Partager