私はかなり複雑な .NET WinForms プログラムを完全に統合された SQL Server の sproc と関数のセットに変換する作業を行っています。
私はまったく制御できないサードパーティのデータベースに取り組んでいます。
このデータベース全体で使用される一意の識別子はすべてnumeric(21)
. それが良いアイデアかどうかは関係ありません... 私はその制約の中で仕事をしなければなりません。
これらの値を使用する関数をコーディングする方法がわかりません。これまでのところSystem.Decimal
、コードが .dll 自体から呼び出されたときに正常に動作するように見えます。
ただし、SSMS では、関数を調べると、入力パラメーターのデータ型はnumeric(18,0)
. タイプに基づいてそれを想定していると思いますが、それはSystem.Decimal
間違っています。最終結果は、関数を手動で (SSMS で) 呼び出そうとすると、次のエラーが発生することです。
数値をデータ型数値に変換中に算術オーバーフロー エラーが発生しました。
奇妙なことは、.dll 内から関数を呼び出したときに呼び出しが失敗しないことです。numeric(18,0)
指定を上書きするにはどうすればよいですか?