2010-05-07 37 views
1

我們有一個使用SQL語句的ASP.NET應用程序,其中表名不合格。編譯時,它可以正常工作,但是在未編譯時,它抱怨錯誤,並說這些表不存在。ASP.NET編譯與未編譯的數據庫限定符

(合格的名字看起來像Select * from MyDatabase.mySchema.MyTable;

碎末狀Select * from MyTable

如果試圖在數據庫上這些查詢,沉住氣,將採取只限定名。

發生了什麼事?我認爲編譯與未編譯的應用程序應該以代碼方式執行相同的方式。

回答

1

究竟你「編譯」這裏是什麼意思?

我不認爲你遇到的問題是你認爲的問題。聽起來更像是一個安全上下文問題,在這種情況下,您在一個案例中執行查詢的用戶上下文默認將查詢傳遞給myschema,其他默認值爲dbo。

0

應用程序將表現相同,我的猜測是您正在談論在Cassini中運行和在IIS中運行之間的區別?

如果是這樣的話,請確保您連接字符串是一個特定的身份,而不是模仿來電...