ASP.NET Compiled vs Uncompiled DB квалификаторы - PullRequest
1 голос
/ 07 мая 2010

У нас есть приложение ASP.NET, которое использует операторы SQL, где имена таблиц неквалифицированы. При компиляции работает нормально, но когда не скомпилирован, он жалуется и выдает ошибки, говоря, что эти таблицы не существуют.

(квалифицированное имя выглядит как Select * from MyDatabase.mySchema.MyTable;

Неквалифицированный как Select * from MyTable)

Если вы попытаетесь выполнить эти запросы в базе данных, вам потребуются только квалифицированные имена.

Что происходит? Я думал, что Compiled vs Uncompiled apps должны работать одинаково в коде.

Ответы [ 2 ]

1 голос
/ 07 мая 2010

Что именно вы подразумеваете под "скомпилированным" здесь?

Не думаю, что проблема в том, что вы думаете.Больше похоже на проблему контекста безопасности, когда пользовательский контекст, для которого вы выполняете запросы, в одном случае по умолчанию передает запросы на myschema, а в другом - на dbo.

0 голосов
/ 07 мая 2010

Приложения будут вести себя одинаково, я думаю, вы говорите о разнице между запуском в Cassini и запуском в IIS?

Если дело обстоит именно так, убедитесь, что в строке подключения указан определенный идентификатор, а не подражаете вызывающей стороне ...

...