3

私はMicrosoftSQLServer Management Studio CLRで作業しており、.dllをアセンブリとしてデータベースに登録しています。現在、Jayrock(Jayrock.dll、Jayrock.Json.dll)DLLをデータベースに登録しています。これは、データベースとSQLコードを編集する人が数人いる進行中のプロジェクトです。正方形のものから開始するように変更された(および変更されていない)すべてのアセンブリと手順を削除しました。「web」のアセンブリをドロップしようとしたとき(以下のコード)

CREATE ASSEMBLY Web
AUTHORIZATION dbo
FROM 'C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Web.dll'
WITH PERMISSION_SET = UNSAFE
GO

エラーメッセージが表示されました:

DROP ASSEMBLY failed because the specified assemblies are referenced by assembly 'Jayrock.Json'.

私はJayrock.Jsonという名前のアセンブリを持っていませんでしたし、私のチームの誰もそのようなアセンブリを作成しませんでした。ドロップしようとすると、この質問のタイトルからエラーメッセージが表示されます。

drop assembly Jayrock.Json
go


"DROP ASSEMBLY" does not allow specifying a schema name as a prefix to the assembly name.

''と()を追加しましたが、それでもこのアセンブリを削除できませんでした。作成されたすべてのアセンブリを削除しましたが、「Web」は削除されません。「Jayrock.Json」アセンブリと同じであるため、Jayrockを使用する必要があるアセンブリを作成しても機能しないため、何ができるかよくわかりません。アセンブリを適切に追加できない場合、逆シリアル化とアセンブリの欠落に関連する例外がC#から発生し、デバッグできないため、コードに何らかのバグがあります。

4

1 に答える 1

0

以下を実行して、「Jayrock.Json」という名前のアセンブリがあるかどうかを確認します。

SELECT * FROM Sys.Assemblies WHERE name like '%Json%'

その場合、Martin Smith がコメントで述べたように、DROP ステートメントのオブジェクト名を [] で囲む必要があります。

于 2012-06-29T18:17:43.927 に答える