私はこの簡単な質問に対する答えを見つけようとしてきましたが、これまでのところそれを理解することはできませんでした。
さまざまなSQLコンテンツ(sprocs、views、triggerなど)を含むMyDb.sqlprojがあるとします。
[追加]->[新しい項目]->[SQLCLR C#]、[ユーザー定義関数]を使用して新しいUDFを追加しました。
例えば:
namespace MyNameSpace
{
public class MyClass
{
[SqlFunction(DataAccess = DataAccessKind.Read)]
//I use different attributes here, but it doesn't matter
public static int Method1()
{
return 0;
}
}
}
MyDb.sqlprojプロパティで、SQLCLRタブMyDbはアセンブリの名前とデフォルトの名前空間です
私のSQLコードでは、EXTERNALNAMEを使用してclrメソッドを呼び出します。
CREATE PROCEDURE ClrMethod1
RETURNS [int] WITH EXECUTE AS CALLER
AS EXTERNAL NAME [MyDb].[MyNamespace.MyClass].[Method1]
最後の行をコンパイルするためにあらゆることを試みたようです。参照を解決して取得することはできません:
SQL71501:関数:[私のsql関数の名前]にアセンブリ[MyDb]への未解決の参照があります
それを機能させる正しい方法を教えてください。何が欠けている可能性がありますか?
VS2010SP1と最新バージョンのSSDTを使用しています