2017-07-17 1 views
3

Dans mon serveur SQL 12,0 J'ai créé une séquence:Comment accéder à une séquence SQL Server à partir de PowerShell avec invoke-sqlcmd?

CREATE SEQUENCE [dbo].[SESSIONI_dv_seq] 
AS [bigint] 
START WITH 1 
INCREMENT BY 1 
MINVALUE -9223372036854775808 
MAXVALUE 9223372036854775807 
CYCLE 
CACHE; 
studio de gestion de serveur

sql fonctionne parfaitement:

select Next value for dbo.SESSIONI_dv_seq 

retour la valeur correcte.

À ce stade, dans un script Powershell Je veux obtenir une nouvelle valeur de séquence en utilisant Invoke-SQLCMD

$DataSet = Invoke-Sqlcmd -Database "alglogistica" -Query "SELECT SESSIONI_dv_seq_value=next value for dbo.sessioni_dv_seq;" -ServerInstance "10.81.104.185\SQL14" 

Cette déclaration ne fonctionne pas (sans aucune erreur renvoyée par le script).

J'ai essayé d'autres sélections dans la requête et celles-ci fonctionnent parfaitement.

Répondre

1

Quelque chose comme ça?

$result = Invoke-SQLCmd -Database alglogistica ` 
    -query "SELECT next value for dbo.sessioni_dv_seq as SESSIONI_dv_seq_value" ` 
    -serverinstance "10.81.104.185\SQL14" 
$id = $result.SESSIONI_dv_seq_value 
+0

Cela fonctionne. Génial. – edoardo