1. 程式人生 > 其它 >sqlserver 在嘗試載入程式集 ID 65537 時 Microsoft .NET Framework 出錯.伺服器可能資源不足

sqlserver 在嘗試載入程式集 ID 65537 時 Microsoft .NET Framework 出錯.伺服器可能資源不足

報錯資訊:

1 2 3 4 5 6 7 8 9 10 11 處理報表時出錯。 對資料集“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) <br data-filtered="filtered">在 System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) <br data-filtered=
"filtered">在 System.Reflection.Assembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) <br data-filtered="filtered">在 System.Reflection.Assembly.Load(String assemblyString) <br data-filtered="filtered">在 System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) <br data-filtered=
"filtered">在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) <br data-filtered="filtered">在 System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) <br data-filtered="filtered">在 System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) <br data-filtered="filtered">在 System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) <br data-filtered="filtered">在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) <br data-filtered="filtered">在 System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) <br data-filtered="filtered">在 System.Data.SqlClient.SqlCommand.ExecuteNonQuery() <br data-filtered="filtered">在 UFSoft.UBF.Util.DataAccess.AbstractDataAccessor.Execute(IDbConnection con, String commandText, DataParamList dataParams, CommandType cmdType) <br data-filtered="filtered">在 UFSoft.UBF.Util.DataAccess.DataAccessor.RunSP(String sprocName, DataParamList dataParams) <br data-filtered="filtered">在 UFIDA.UU.GL   .Report.DataCommand.GeneralAndBalanceDataCommand.GetResultTempTalbe1WithSP() <br data-filtered="filtered">在 UFIDA.UU.GL   .Report.DataCommand.GeneralAndBalanceDataCommand.ProcessData() <br data-filtered="filtered">在 UFIDA.UU.GL   .Report.DataCommand.GeneralAndBalanceDataCommand.GetOqlString() <br data-filtered="filtered">在 UFIDA.UBF.Report.App.Data.AbsReportDataCommand.ExecuteDataReader() <br data-filtered="filtered">在 UFSoft.UBF.Report.Interface.BaseReportDataCommand.InternalExecuteDataReader(String& errorMessage)

  

這資料庫是從其他資料庫還原到本地資料庫的,不少網友說在還原資料庫之後,可以將資料庫的OWNER設定成SA就可以解決

1 exec sp_changedbowner 'sa'

實際上並不能解決!

從報錯資訊可以看出,伺服器不信任該程式集。將資料庫的可信修改為true即可:

 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 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'