2015-12-02 74 views
0

我有一個用C#編寫的.Net 4.5控制檯應用程序,它使用Entity Framework 6.1.3調用SQL並生成一個PDF。如果運行可執行文件,應用程序運行良好,但在運行任務計劃程序時失敗。它只會運行在任務計劃與選項「只運行當用戶登錄」我需要它運行時,未登錄任務計劃程序失敗.Net 4.5控制檯應用程序

我在測試Task Scheduler的可執行文件是模擬數據被調用實體框架和應用程序工作得很好,所以事情告訴我,任務計劃程序不喜歡我的實體框架調用。然而,我有其他計劃任務運行使用實體框架..不知道是什麼問題。以下是Windows日誌中顯示的錯誤之一。

應用:CreatePDFFile.exe Framework版本:v4.0.30319 說明:該過程由於未處理的異常終止。 異常信息信息:System.Data.SqlClient.SqlException 堆棧: 在System.Data.Entity.Internal.RetryAction 1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].PerformAction(System.__Canon) at System.Data.Entity.Internal.LazyInternalContext.InitializeDatabaseAction(System.Action 1) 在System.Data.Entity.Internal.LazyInternalContext.InitializeDatabase() 在System.Data.Entity的.Internal.LazyInternalContext.get_ObjectContext() at System.Data.Entity.Internal.InternalContext.ExecuteSqlQuery [[System .__ Canon,mscorlib,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089]](System.String,System .Nullable 1<Boolean>, System.Object[]) at System.Data.Entity.Internal.InternalContext.ExecuteSqlQueryAsIEnumerator[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]](System.String, System.Nullable 1,System.Object []) at System.Data.Entity.Internal.InternalContext.ExecuteSqlQuery(System.Type,System.String,System.Nullable 1<Boolean>, System.Object[]) at System.Data.Entity.Internal.InternalSqlNonSetQuery.GetEnumerator() at System.Data.Entity.Infrastructure.DbRawSqlQuery 1 [[System .__ Canon,mscorlib,Version = 4.0。 0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089]]。GetEnumerator() at System.Linq.Enumerable + WhereSelectEnumerableIterator 2[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].MoveNext() at System.Collections.Generic.List 1 [[System .__ Canon,mscorlib,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089]] .. ctor(System.Collections.Generic.IEnumerable 1<System.__Canon>) at System.Linq.Enumerable.ToList[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]](System.Collections.Generic.IEnumerable 1) at Repository.MyRepository.GetData(System.String,System.String,System.String,Int32)

+2

什麼是'SqlException'的'InnerException'屬性?這會告訴你問題是什麼。我猜測它無法以系統用戶的身份連接到數據庫。 – Amy

+0

您是否在連接字符串或SQL Server身份驗證中使用Windows身份驗證。它可能是,系統用戶不允許連接到SQL Server,而登錄的用戶可以(這就是爲什麼你可能會在數據庫初始化時出錯) – Jure

回答

0

我正在使用SQL身份驗證。我添加了一個嘗試捕捉錯誤,我得到這個:

登錄失敗:登錄是來自不受信任的域,不能使用 使用Windows身份驗證。

看完我的連接字符串後,我意識到我已經從我的PC複製連接字符串到服務器,並取代了數據源,但沒有證書....所以它的解決。

相關問題