1

SqlServerFunctionstest.cs ファイルにあるプロジェクトが 1 つあります。コード:

    [Microsoft.SqlServer.Server.SqlFunction]
    public static SqlDecimal CalculateBondDV0N(SqlDecimal coupon, SqlDecimal yield, SqlDateTime date)
    {
        DayCount dayCount = (DayCount)Enum.Parse(typeof(DayCount), dayCountString.ToString(), true);
        Frequency frequency = (Frequency)Enum.Parse(typeof(Frequency), frequencyString.ToString(), true);

        double price = BondAnalyticsUtility.CalculateDV0N((double)coupon.Value, dayCount, frequency, (double)yield.Value, date.Value, finalPaymentDate.Value, (double)redemptionValue.Value, (double)notional.Value, (double)spreadChange.Value);

        SqlDecimal returnVal = new SqlDecimal(price);

        return returnVal;
    }

そして、この関数は、パラメーターを指定することにより、スカラー値関数内の Sql サーバーから呼び出されEXTERNALます。

ALTER FUNCTION [dbo].[CalculateBondDV0N](@Coupon [decimal](18, 6), @Yield [decimal](18, 6), @Date [datetime])
RETURNS [decimal](18, 7) WITH EXECUTE AS CALLER
AS 
EXTERNAL NAME [Pearl.Analytics.Services.Database].[BondAnalytics].[CalculateBondDV0N]

この関数をデバッグしたいのですが、このコードは C# にあり、VS2010 pro にデバッグしようとしています。データベースに接続してこれを行うにはどうすればよいですか?

4

1 に答える 1

-2

SQL Server 内でデバッグする必要がない場合は、通常の C# コードから自然に呼び出すのは非常に簡単です。あなたのメソッドは非常に基本的な型しか使用していないため、SQL Server 内でデバッグする必要がある理由はわかりません。

ただし、「dayCountString」と「frequencyString」がどこから来たのかはわかりません。それらも関数のパラメーターであるべきだと思います。

于 2012-06-25T15:42:45.747 に答える