У мене запитання про типи користувацьких таблиць у SQL Server 2008.
Для потреби одного з додатків ASP.NET ми визначили наші власні типи таблиць на SQL Server 2008, щоб використовувати їх як параметри в збережених процедурах (під час виконання команди sql у програмі ASP.NET ми передаємо об'єкт DataTable як параметр для збереженої процедури див. тут приклад )
Проблема полягає в тому, що коли ми запускаємо команду Sql (виконуємо збережену процедуру) з ASP.NET, ми отримуємо помилку:
У дозвілі EXECUTE відмовлено об’єкту „ourTableType”, базі даних „ourDatabase”, схемі „ourSchema”.
Чому це так? Чому нам потрібно встановлювати дозвіл на користувацькі типи таблиць? Чому недостатньо встановити дозвіл лише на збережену процедуру, яка його використовує? І якщо у нас немає , щоб встановити його незалежно від того, чому немає EXECUTE
типу дозволу на набір у вікні властивостей взагалі (я можу бачити тільки Control
, References
, Take Ownership
, View Definition
)?
Я також не розумію, що встановлення дозволу Control
у вікні властивостей вирішує проблему, а збережена процедура працює без проблем.