我在asp classic中遇到了默認架構和sql問題。首先,我有一個數據庫'MyDatabase',這個數據庫有'MySchema'模式(所有表都在這個模式中),還有一個用戶'jdoe',它具有'MyDatabase'特權和默認模式'MySchema'的特權, 'jdoe'不是系統管理員。 'JDOE' 可以從Management Studio中執行以下查詢沒有錯誤:默認架構不適用於asp classic中的select查詢
SELECT columnOne FROM MyTable
同樣的查詢,但是從.asp頁找不到MyTable的:
Dim query
query = "SELECT ColumnOne FROM MyTable"
ASP頁使用ADODB.Command和用戶'jdoe'。如果我顯式地指定模式查詢返回的結果:
Dim query
query = "SELECT ColumnOne FROM MySchema.MyTable"
我在網上搜索,但所有的答案說的一樣:ASIGN默認模式爲「JDOE」,但我做到了,在與T-SQL的工作原理服務器或dabatase像存儲過程,但不能像我在asp頁面中使用querys一樣工作。
是否存在一些特殊的配置?
謝謝。
您是否以這種方式更改默認模式? 'ALTER USER MyUser WITH DEFAULT_SCHEMA = MySchema'如果不嘗試,看看它是否在那之後工作。同時驗證您是否正在修改您從應用程序連接的正確用戶。 – 2014-02-06 18:47:22
是的,我這樣做,但只適用於服務器上的代碼,它仍然不能從asp頁面工作。在分配默認模式時,我關心用戶。 – Noob
所以你正在執行iis /應用程序池與你改變默認架構的Windows用戶相同嗎? – ulluoink