2009-09-03 4 views
0

J'ai une application console conçue pour être automatiquement exécutée en tant que tâche planifiée. J'utilise LINQ to SQL pour extraire des données de la base de données, les formater en CSV et les envoyer par e-mail à un client. Tout à coup, je reçois l'erreur "SELECT permission denied for table", mais le compte que j'utilise pour me connecter à la base de données (spécifié dans mon fichier app.config) a le rôle de serveur "sysadmin" (mauvais programmeur, je savoir, je vais changer pour un meilleur compte plus tard mais je veux m'assurer que ça fonctionne d'abord).Obtention de "select permission denied" lors de l'utilisation de LINQ mais mon compte est un sysadmin

Je peux me connecter directement à la base de données SQL en utilisant ce même compte et interroger la table en question sans problème, cela ne semble être le cas qu'avec le code LINQ. Une idée de ce que cela causerait?

Répondre

2

Même serveur et base de données?

L'erreur devrait en fait dire quelque chose comme "n'existe pas ou n'a pas la permission". Maintenant, si vous sysadmin alors l'autorisation est hors de propos si la table ne doit pas exister où vous pensez qu'il est

Idées:

  • serveur incorrect
  • alias SQL client pointant vers un mauvais serveur
  • incorrect DB contexte
  • schéma incorrect (par exemple SELECT * FROM bob.myTable doit être SELECT * FROM fred.Mytable)

Essayez SELECT @@SERVERNAME, DB_NAME() (ou l'équivalent Linq) pour voir où vous êtes dans un premier temps ...

+0

Merci, cela m'a aidé avec le code méchant de quelqu'un d'autre! – jerrygarciuh

Questions connexes