Domanda

Abbiamo un'applicazione ASP.NET che utilizza SQL dichiarazioni, in cui nomi di tabella sono senza riserve. Quando compilato, funziona benissimo, ma quando non compilato, si lamenta e gli errori, dicendo queste tabelle Dont' esistere.

(qualificato nome assomiglia Select * from MyDatabase.mySchema.MyTable;

Non Qualificato come Select * from MyTable)

Se si tenta queste query sul database, da soli, ci vorranno solo i nomi qualificati.

Che cosa sta succedendo? Ho pensato compilato vs applicazioni non compilati devono eseguire la stessa codewise modo.

È stato utile?

Soluzione

Che cosa si intende per "compilato" qui?

Non credo che il problema che si è ciò che si pensa che sia. Suona più come un problema di contesto di protezione in cui il contesto dell'utente che si sta eseguendo le query sotto in un caso di default per passare query a myschema e le altre impostazioni predefinite per dbo.

Altri suggerimenti

Le applicazioni si comporteranno allo stesso, la mia ipotesi è che si sta parlando della differenza tra l'esecuzione di Cassini e in esecuzione in IIS?

Se questo è il caso, assicurarsi che la stringa di connessione è una specifica identità, e non impersonando il chiamante ...

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top