我有一个控制台应用程序,可以自动作为计划任务运行。我使用LINQ to SQL从数据库中提取一些数据,将其格式化为CSV并通过电子邮件发送给客户端。突然间我收到错误“表的SELECT权限被拒绝”,但我用来连接数据库的帐户(在我的app.config文件中指定)具有“sysadmin”服务器角色(坏程序员,我知道;我稍后会把它改成一个更好的帐户,但我想确保它先工作。)
我可以使用同一个帐户直接连接到SQL数据库并查询有问题的表而没有问题,它似乎只是在使用LINQ代码时。知道会导致这种情况的原因吗?
答案 0 :(得分:2)
相同的服务器和数据库?
错误实际上应该说“不存在或没有权限”。现在,如果您是sysadmin,那么权限就无关紧要,因此表格不能存在于您认为的位置
思路:
尝试SELECT @@SERVERNAME, DB_NAME()
(或等同于Linq),看看你的第一步......