2017-07-17 4 views
3

は私はシーケンスを作成しました:Invoke-sqlcmdを使用してPowerShellからSQL Serverシーケンスにアクセスするにはどうすればよいですか?私のSQL Server 12.0では

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

SQL Serverの管理スタジオは完璧に動作します:

select Next value for dbo.SESSIONI_dv_seq 

返り正しい値。この時点で

は、PowerShellスクリプトでは、私はこの文は、(スクリプトによって返されたエラーなしなし)は動作しません呼び出す-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" 

を使用して、新しいシーケンス値を取得します。

私はクエリで他の選択肢を試して、これらは完全に動作します。

答えて

1

このようなものはありますか?

$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

です。すばらしいです。 – edoardo

関連する問題