Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SSDT部署CLR问题:.Net SqlClient:无法安装程序集,因为现有策略将阻止使用该程序集_Sql Server_Visual Studio_Clr_Sql Server Data Tools - Fatal编程技术网

Sql server SSDT部署CLR问题:.Net SqlClient:无法安装程序集,因为现有策略将阻止使用该程序集

Sql server SSDT部署CLR问题:.Net SqlClient:无法安装程序集,因为现有策略将阻止使用该程序集,sql-server,visual-studio,clr,sql-server-data-tools,Sql Server,Visual Studio,Clr,Sql Server Data Tools,我在SQL 2008 R2中有一个数据库,我通过导入一个现有数据库创建了一个SSDT SQL数据库项目。此数据库有一些使用System.Drawing V2.0的CLR例程 在本地部署项目时,我得到以下错误 SQL72014:.Net SqlClient数据提供程序:Msg 6586,级别16,状态1,第1行程序集“SystemDrawing”无法安装,因为现有策略将阻止它被使用 我不确定要寻找什么策略。您的t-sql脚本应该如下所示 CREATE DATABASE [test] GO ALTE

我在SQL 2008 R2中有一个数据库,我通过导入一个现有数据库创建了一个SSDT SQL数据库项目。此数据库有一些使用System.Drawing V2.0的CLR例程

在本地部署项目时,我得到以下错误

SQL72014:.Net SqlClient数据提供程序:Msg 6586,级别16,状态1,第1行程序集“SystemDrawing”无法安装,因为现有策略将阻止它被使用


我不确定要寻找什么策略。

您的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,则必须使用该dll,并且很可能您使用的sql server dll不正确。

您的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,则必须使用该dll,并且很可能是sql server使用了错误的dll。

究竟为什么需要在数据库中使用System.Drawing?有一个小部件可以从png文件中提取信息并将数据存储在DB中。这在“传统”VS项目中是可以的,但在SSDT SQL DB项目中不是。ps:通常他们谈论的策略是硬编码的“mssql服务器中不允许使用此dll”所以,检查一下你们的dll版本。你们到底为什么需要在数据库中使用System.Drawing?有一个小部件可以从png文件中提取信息并将数据存储在DB中。这在“传统”VS项目中是可以的,但在SSDT SQL DB项目中不是。ps:通常他们谈论的策略是硬编码的“mssql服务器中不允许使用此dll”因此,请检查您的dll版本。我不再处理此项目,但它看起来像我们使用的。我不再处理此项目,但它看起来像我们使用的