0

clr sproc を実行しようとすると (これはまだ C# IDE にあります)、パーミッション エラーが発生します。エラーは「タイプ 'System.Data.SqlClient.SqlClientPermission のアクセス許可の要求、... 失敗しました」です。ウェブサイトを使用しているため、これらのソリューションは私には適用されません)、これについても 2 つの個別の接続文字列を試しました (コンテキスト接続 = true、および私が通常行う方法は、それが信頼されていることを示す非常に長いものです)。接続とデータベース名) が返されますが、どちらも同じ権限が失敗したことを返します。

どんな助けでも大歓迎です

4

2 に答える 2

1

SQL サーバーのインスタンス内で CLR が有効になっていますか?

これを有効にするには、SQL サーバーに対して次の SQL ステートメントを実行します。

sp_configure 'clr 有効'、1 GO

これを実行したら、アセンブリを SQL に登録する必要があります。

CREATE ASSEMBLY ASSEMBLYNAME FROM 'Full path to assembly' --eg C:\sproc.dll WITH Permission_SET = SAFE GO

このようなストアド プロシージャを作成します (まだ作成していない場合) CREATE PROC clrsp_InsertEmployee (
Comma delimited parameters ) --Parameters example @City VARCHAR(25), @state VARCHAR(2)
AS EXTERNAL NAME AssemblyName.StoredProcedures.Function Go

これが役立つかどうか教えてください。それ以外に、SQL へのアクセスに使用しているユーザーに基づいて、テーブルへのアクセス許可を設定する必要がある場合があります。

于 2010-08-06T21:03:21.390 に答える
0

ユーザーのデータベース権限については、DBA に相談してください。これはおそらくコードの問題ではありません。

于 2010-08-06T20:49:37.923 に答える