かなり複雑な.NET WinFormsプログラムを、完全に統合されたsprocsと関数のSQL Serverセットに変換しようとしています。SQL CLRインテグレーション - ファンクションパラメータタイプの定義
私はがないを持っているサードパーティのデータベースで作業しています。
このデータベース全体で使用される一意の識別子はすべてnumeric(21)
です。それが良い考えかどうかは関係ありません...私はその制約の中で作業しなければなりません。
これらの値を使用する関数をコーディングする方法がわかりません。これまでは、System.Decimal
を使用しています。これは、コードが.dll内から呼び出されたときに正常に動作するようです。
ただし、SSMSでは、いずれかの関数を検査すると、入力パラメータのデータ型はnumeric(18,0)
になります。私はそれがSystem.Decimal
タイプに基づいていると仮定していると仮定していますが、それは間違っています。そして、最終的な結果は、私が(SSMSで)手動で関数を呼び出すしようとすると、私は次のエラーを取得することです:
Arithmetic overflow error converting numeric to data type numeric.
奇妙なことは、私は関数を呼び出すときに呼び出しがが失敗しないということです.dllの中から。 numeric(18,0)
指定をどのように上書きできますか?