• sqlserver 在尝试加载程序集 ID 65537 时 Microsoft .NET Framework 出错.服务器可能资源不足


    报错信息:

    处理报表时出错。
    对数据集“query”执行查询失败。
    在尝试加载程序集 ID 65536 时 Microsoft .NET Framework 出错。服务器可能资源不足,或者不信任该程序集,因为它的 PERMISSION_SET 设置为 EXTERNAL_ACCESS 或 UNSAFE。请重新运行查询,或检查有关的文档了解如何解决程序集信任问题。有关此错误的详细信息: System.IO 
    .FileLoadException: 未能加载文件或程序集“ufida.uu.sql.clrlib, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null”或它的某一个依赖项。发生与安全有关的错误。 (异常来自 HRESULT:0x8013150A) System.IO 
    .FileLoadException: 在 System.Reflection.Assembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection) 
    在 System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
    在 System.Reflection.Assembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
    在 System.Reflection.Assembly.Load(String assemblyString)
    在 System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
    在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
    在 System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
    在 System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
    在 System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
    在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
    在 System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
    在 System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
    在 UFSoft.UBF.Util.DataAccess.AbstractDataAccessor.Execute(IDbConnection con, String commandText, DataParamList dataParams, CommandType cmdType)
    在 UFSoft.UBF.Util.DataAccess.DataAccessor.RunSP(String sprocName, DataParamList dataParams)
    在 UFIDA.UU.GL .Report.DataCommand.GeneralAndBalanceDataCommand.GetResultTempTalbe1WithSP()
    在 UFIDA.UU.GL .Report.DataCommand.GeneralAndBalanceDataCommand.ProcessData()
    在 UFIDA.UU.GL .Report.DataCommand.GeneralAndBalanceDataCommand.GetOqlString()
    在 UFIDA.UBF.Report.App.Data.AbsReportDataCommand.ExecuteDataReader()
    在 UFSoft.UBF.Report.Interface.BaseReportDataCommand.InternalExecuteDataReader(String& errorMessage)

      

    这数据库是从其他数据库还原到本地数据库的,不少网友说在还原数据库之后,可以将数据库的OWNER设置成SA就可以解决

    exec sp_changedbowner 'sa'
    

    实际上并不能解决!

    从报错信息可以看出,服务器不信任该程序集。将数据库的可信修改为true即可:

    1.exec sp_configure 'show advanced options', '1';
    Go
    reconfigure;
    go
    exec sp_configure 'clr enabled', '1'
    go
    reconfigure;    --如果执行失败,就用这个RECONFIGURE WITH OVERRIDE;
    exec sp_configure 'show advanced options', '1';
    go
     
    2.查SID在sys.databases 和sys.server_principals是否一致
    SELECT * FROM sys.server_principals;
    SELECT * FROM sys.sysdatabases ;
    
    3.查看程序集是否存在
    SELECT * FROM sys.assemblies;
    SELECT * FROM sys.assembly_files;
    
    4.修改为ON
    ALTER DATABASE databasename SET TRUSTWORTHY on;
    
    5.注意所有者
    exec sp_changedbowner 'sa'
    

      

  • 相关阅读:
    《人类简史》八、融合统一(下)——宗教的法则、历史的混沌
    《今日简史》七、融合统一(中)——帝国的愿景
    《人类简史》六、融合统一(上)——历史的方向、金钱的味道
    《人类简史》五、监狱高墙——想象构建的秩序
    设计模式之职责链模式(Chain of Responsibility)
    设计模式之代理模式(Proxy)
    设计模式之享元模式(FlyWeight)
    设计模式之外观模式(Facade)
    设计模式之装饰模式(Decorator)
    设计模式之组合模式(Composite)
  • 原文地址:https://www.cnblogs.com/abclife/p/7324728.html
Copyright © 2020-2023  润新知