2010-05-07 2 views
1

Nous avons une application ASP.NET qui utilise des instructions SQL, où les noms de table ne sont pas qualifiés. Une fois compilée, elle fonctionne correctement, mais lorsqu'elle n'est pas compilée, elle se plaint et émet des erreurs, indiquant que ces tables n'existent pas.Qualificateurs compilés ASP.NET compilés vs Uncompiled

(nom qualifié ressemble Select * from MyDatabase.mySchema.MyTable;

comme Select * from MyTable non qualifié)

Si vous essayez ces requêtes sur la base de données, par vous-même, il ne prendra que les noms qualifiés.

Que se passe-t-il? Je pensais que les applications Compiled vs Uncompiled devraient fonctionner de la même manière dans le code.

Répondre

1

Que voulez-vous dire par « Compilé » ici?

Je ne pense pas que le problème que vous avez est ce que vous pensez que c'est. Ressemble plus à un problème de contexte de sécurité où le contexte utilisateur dans lequel vous exécutez les requêtes dans un cas revient par défaut à passer des requêtes à myschema et l'autre par défaut à dbo.

0

Les applications se comporteront de la même manière, je suppose que vous parlez de la différence entre l'exécution dans Cassini et l'exécution dans IIS?

Si tel est le cas, assurez-vous que votre chaîne de connexion est une identité spécifique, et non se faisant passer pour l'appelant ...

Questions connexes