0

SQL 2008 R2にDBがあり、既存のDBをインポートしてSSDTSQLデータベースプロジェクトを作成しました。このDBには、System.DrawingV2.0を使用しているCLRルーチンがいくつかあります。

プロジェクトをローカルにデプロイすると、次のエラーが発生します。

SQL72014:.Net SqlClientデータプロバイダー:メッセージ6586、レベル16、状態1、行1アセンブリ'SystemDrawing'は、既存のポリシーによって使用されないため、インストールできませんでした。

どのポリシーを探すべきかわかりません。

4

1 に答える 1

3

t-sqlスクリプトは次のようになります

CREATE DATABASE [test]
GO
ALTER DATABASE [test] SET TRUSTWORTHY ON WITH ROLLBACK IMMEDIATE
GO
USE [test]
GO
ALTER DATABASE [test] SET TRUSTWORTHY ON
GO
exec sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
exec sp_configure 'clr enabled', 1;
GO
RECONFIGURE;
GO
CREATE ASSEMBLY [System.Drawing]
AUTHORIZATION [dbo]
FROM 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\System.Drawing.dll'
WITH PERMISSION_SET = UNSAFE
GO

ただし、.net 4をインストールした場合は、それを使用する必要があり、SQLサーバーに間違ったdllを使用している可能性があることに注意してください。

于 2013-01-24T16:20:58.717 に答える