远程数据库部署CLR 程序集。
项目生成成功以后,在项目的文件目录的Bin\Debug\ 获取程序集文件。
其中我们需要将SqlServerProject1.dll在服务器SQL Server 2005环境中注册。
将文件拷贝到服务器后,尝试注册程序集:
- -- 注册程序集
- CREATE ASSEMBLY [SqlServerProject1] FROM 'D:\SQLCLR_DLL\SqlServerProject1.dll';
报告错误:
程序集 'SqlServerProject1' 所引用的程序集 'system.core, version=3.5.0.0, culture=neutral, publickeytoken=b77a5c561934e089.' 不在当前数据库中。
SQL Server 已尝试定位并自动从引用程序集所在的位置自动加载被引用程序集,但此操作失败(原因: 2(系统找不到指定的文件。))。请将被引用程序集加载到当前数据库中,然后重试您的请求。
这说明SQL SERVER并不支持System.Core.dll程序集,应先加载:
EXEC dbo.sp_changedbowner
@loginame
= N
'
sa
',
@map
= true
GO
sp_configure ' clr enabled ', 1
GO
RECONFIGURE
GO
ALTER DATABASE [ stzpbbs ] SET TRUSTWORTHY ON
GO
CREATE ASSEMBLY [ System.Core ]
AUTHORIZATION [ dbo ]
FROM
' C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.5\System.Core.dll '
WITH PERMISSION_SET = UNSAFE
GO
GO
sp_configure ' clr enabled ', 1
GO
RECONFIGURE
GO
ALTER DATABASE [ stzpbbs ] SET TRUSTWORTHY ON
GO
CREATE ASSEMBLY [ System.Core ]
AUTHORIZATION [ dbo ]
FROM
' C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.5\System.Core.dll '
WITH PERMISSION_SET = UNSAFE
GO
再次执行:
- -- 注册程序集
- CREATE ASSEMBLY [SqlServerProject1] FROM'D:\SQLCLR_DLL\SqlServerProject1.dll';
--命令成功完成。