2017-06-01 6 views
0

SqlCommandBuilder.DeriveParametersは.netコア(.NETCoreApp 2.0でも)では使用できません。したがって、.netコアのストアドプロシージャのパラメータリストを取得する方法はありますか?.netコアのストアドプロシージャのパラメータを取得する方法はありますか?

+0

SQL Serverで多大のための不可欠のカタログ・ビューの詳細情報や詳細をSQL Server catalog viewsを参照してください。//github.com/dotnet/corefx/pull/20883 –

+0

私は毎日のビルドで遊んでいます。神様ありがとうございます。 –

答えて

0

あなたはいつもちょうどこの情報を取得するために、SQL Serverのカタログ・ビューを調べることができ - 例えば、このクエリを使用して:

SELECT 
    pr.name,  -- Procedure name 
    pa.name,  -- Parameter name 
    pa.parameter_id, 
    ty.name,  -- Parameter datatype name 
    pa.max_length, -- Max length (of string parameters) 
    pa.precision,  -- Precision (total num of digits) for numeric parameters 
    pa.scale,   -- Scale (num of digits after decimal point) for numeric parameters 
    pa.is_output,    
    pa.has_default_value,  
    pa.is_readonly, 
    pa.is_nullable 
FROM 
    sys.procedures pr 
INNER JOIN 
    sys.parameters pa ON pa.object_id = pr.object_id 
INNER JOIN 
    sys.types ty ON ty.user_type_id = pa.user_type_id 

これを拡張することができます - 場合は周りの情報のよりかなりの数のビットがあります、あなたはそれらに興味があります。

HTTPS、それは2.1 netstandardで利用できるようになります

+0

私たちのポリシーのため、ウェブコードで使用されているsql-accountは、それらのシステムのオブジェクト(プロシージャ、パラメータ、タイプなど)にアクセスする権限を持っていません。また、多くのデータベースサーバがあるため、推奨されるt-sqlを使用してストアドプロシージャを作成し、すべてのDBサーバにデプロイするのは良い選択ではありません。 Webコード(泣)でそれを行う方法はありますか? –

+0

* Webコード(泣)で行う方法はありますか? - 残念ながら、この情報は** SQL Server **に格納されています。これらのカタログビューを介してアクセスできます。あなたがそれらを調べることができない場合、あなたはほとんど運がない、私は恐れています..... –

+0

'SqlCommandBuilder.DeriveParameters'(完全な.net framewok)がそれをどのように処理するのだろうか。そしてそれを.net標準に移植するのに問題はありますか?私たちはライブラリのいくつかを.netコアに移植していますが、簡単な作業ではないようです。 –

関連する問題