我收到以下错误消息:
Msg 10314, Level 16, State 11, Line 1
An error occurred in the Microsoft .NET Framework while trying to load assembly id 66007. The server may be running out of resources, or the assembly may not be trusted with PERMISSION_SET = EXTERNAL_ACCESS or UNSAFE. Run the query again, or check documentation to see how to solve the assembly trust issues. For more information about this error:
System.IO.FileLoadException: Could not load file or assembly 'powerstatregression, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The given assembly name or codebase was invalid. (Exception from HRESULT: 0x80131047)
System.IO.FileLoadException:
at System.Reflection.Assembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection)
at System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
at System.Reflection.Assembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
at System.Reflection.Assembly.Load(String assemblyString)我运行这段代码,最后几行导致了问题:
ALTER DATABASE dasolPSDev SET TRUSTWORTHY ON;
GO
CREATE ASSEMBLY PowerStatRegression
AUTHORIZATION [dbo]
from 'C:\SqlDlls\PowerStatRegression.dll'
WITH PERMISSION_SET = UNSAFE
GO
CREATE PROCEDURE [dbo].[SpCreatePowerStatCorr]
@strUID [nvarchar](4000),
@seqId [int],
@flagProgress [int]
WITH EXECUTE AS CALLER
AS
EXTERNAL NAME [PowerStatRegression].[StoredProcedures].[SpCreatePowerStatCorr]
GO
CREATE PROCEDURE [dbo].[SpCreatePowerStatCorrEx]
@strUID [nvarchar](4000),
@seqId [int],
@flagProgress [int]
WITH EXECUTE AS CALLER
AS
EXTERNAL NAME [PowerStatRegression].[StoredProcedures].[SpCreatePowerStatCorrEx]
GO
CREATE PROCEDURE [dbo].SpCheckCollinearity
@strUID [nvarchar](4000),
@seqId [int],
@flagProgress [int]
WITH EXECUTE AS CALLER
AS
EXTERNAL NAME [PowerStatRegression].[StoredProcedures].[SpCheckCollinearity]
GO
CREATE PROCEDURE [dbo].[AboutPowerStatCorrelation]
WITH EXECUTE AS CALLER
AS
EXTERNAL NAME [PowerStatRegression].[StoredProcedures].[AboutPowerStatCorrelation]
GO
-- To Test
dbo.AboutPowerStatCorrelation
GO
grant execute on SpCreatePowerStatCorr to db_executor
GO发布于 2012-08-16 06:07:04
@chris在您的项目中还引用了哪些其他程序集?在自定义程序集之前,可能需要将一些其他程序集添加到sql server中,这就是导致该错误的原因。例如,如果您要引用Newtonsoft之类的东西进行JSON解析,则需要在您的程序集之前添加该程序集。
发布于 2013-10-07 19:26:16
当我试图加载一个针对x86 (32位)而构建的动态链接库,但Sql Server是x64时,我就遇到了这个错误,或者至少是一个非常类似的错误。该错误仅在尝试运行我注册的函数时显示...它在注册的时候没有抱怨!
将构建更改为目标“任何CPU”并重新注册程序集对我来说很管用。
https://stackoverflow.com/questions/11977673
复制相似问题