Дозвуковые, настройки USESPS= «True», похоже, не работает.SPS не генерируется
-
16-09-2020 - |
Вопрос
Я использую дозвуковую, я достаточно новый на нем. Сегодня в первый раз мне нужно использовать хранимые процедуры.
Моя линия провайдера в WebConfig выглядит следующим образом:
Я использую два провайдера, указывающие на две разные базы данных, где другой не вызывает SPS.
Когда я генерирую, я получаю все таблицы и класс StoredProcedures, но это пусто! Так когда я делаю SPS.... в коде нет классов для отображения.
кто-нибудь знает, что здесь происходит?
Обновление:
Если я устанавливаю usesps="True" на моем другом провайдере .. Это работает?
Базы данных находятся на совершенно разных серверах ..
bex
Решение 2
прямо - для всех, кто получил эту проблему .. Я знаю, что это делает (в моем случае в любом случае) .. Понадобится основной код, перезаписываемый для исправления ..
Если вы ездите здесь Показывает источник для генерации SPS. Перейти к линии 1745
Если я запускаю эту процедуру в SQL Server, я получаю эту ошибку:
Cannot sort a row of size 8098, which is greater than the allowable maximum of 8094.
.
Это потому, что хранимые процедуры в БД я использую, абсолютно массивные, поэтому они слишком длинные для ряда, когда он заказывает. Удаление порядка в основном кодексе исправит эту ошибку, но я не знаю, нужен ли это ??
Я собираюсь отправить его в качестве проблемы.
Другие советы
Я предполагаю, что вы используете версию 2.x дозвуковой, не 3?
Если это так, вам нужно сообщить вашему конфигурации для генерации сохраненных procs, что-то подобное:
<SubSonicService defaultProvider="blah">
<providers>
<clear />
<add
...
includeProcedureList="proc1,proc2"
.
Если вы используете версию 3, вам просто нужно запустить шаблон T4 для сохраненных procs.