让我从顶部开始吧。我已经制作了一个控制台应用程序,它将使用计划任务每天运行。控制台应用程序工作并已经过测试。我的问题是,当我从bin中取.exe
和.exe.config
时,我将这些移动到一个单独的服务器,更改配置以包含相关的连接字符串,但当.exe
运行时,我得到了低于错误:
Application: xxx.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.Data.SqlClient.SqlException
Stack:
at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(System.Data.CommandBehavior, System.Data.SqlClient.RunBehavior, Boolean, Boolean)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(System.Data.CommandBehavior, System.Data.SqlClient.RunBehavior, Boolean, System.String, System.Data.Common.DbAsyncResult)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(System.Data.CommandBehavior, System.Data.SqlClient.RunBehavior, Boolean, System.String)
at System.Data.SqlClient.SqlCommand.ExecuteReader(System.Data.CommandBehavior, System.String)
at System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(System.Data.CommandBehavior)
at System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(System.Data.CommandBehavior)
at System.Data.Common.DbDataAdapter.FillInternal(System.Data.DataSet, System.Data.DataTable[], Int32, Int32, System.String, System.Data.IDbCommand, System.Data.CommandBehavior)
at System.Data.Common.DbDataAdapter.Fill(System.Data.DataTable[], Int32, Int32, System.Data.IDbCommand, System.Data.CommandBehavior)
at System.Data.Common.DbDataAdapter.Fill(System.Data.DataTable)
at Dmc.V1.BatchTasks.DestinationMarketingEntityTableAdapters.HotelCodesTableAdapter.GetData()
at Dmc.V1.BatchTasks.Program.Main(System.String[])
有人能为我解释一下吗?
答案 0 :(得分:2)
我只是遇到了这个问题,对我来说,原来我的应用正在登录到数据库的用户没有对我尝试运行的存储过程的执行权限。
我的应用程序以.Net Framework 4.7.2为目标,并且我的应用程序按计划任务运行。我收到相同的错误消息
Application: xxx.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.Data.SqlClient.SqlException
如果最近对数据库或应用程序正在使用的连接字符串进行了更改,请检查是否存在数据库权限问题。
答案 1 :(得分:0)
在我看来,这是.NET Framework
compatibility
问题。
问题:您已使用.NET Framework 4.5
在本地计算机上开发了应用程序,并在具有.NET Framework 4.0
的远程PC上运行该应用程序。
注意:如果您将应用程序定位为Heigher
.NET Framework
版本,则不会在以下版本上运行。
解决方案:您需要将其定位到.NET Framework 4.0
才能在远程ppc上运行。
第1步:右键点击project
- 选择properties
第2步:将Target Framework
从.NET Framework 4.5
更改为.NET Framework 4
。
第3步:现在重建您的应用。