Хранимые процедуры Oracle в SubSonic 2.2 - PullRequest
0 голосов
/ 29 апреля 2009

Я до сих пор не получаю свои SP в SubSonic 2.2 с базой данных Oracle 10g. Таблицы и представления создаются идеально. Также этот продукт является мультиплатформенным, поэтому мы создаем библиотеки SubSonic для SQL 2K5, и это прекрасно работает для таблиц / представлений и SP.

Я помню, на старых форумах была ошибка в более ранних версиях провайдера, поэтому я не уверен, что это все та же проблема, или я делаю что-то не так с моей стороны? Также SubStage (UI) задыхается при вызове провайдера в Oracle (без проблем с SQL). Так что я полагаю, что в SP есть что-то, что душит [?]

Спасибо! Очень близок к переходу на СС из нашей нынешней DAL.

1 Ответ

1 голос
/ 30 апреля 2009

Мне удалось исправить многие проблемы с провайдером Oracle в SubSonic в версии 2.1, и большинство всех моих исправлений перешло в 2.2. Я не работал над исправлением части генерации SP провайдера Oracle, поскольку у меня был только один или два SP. Даже если генерация SP не работает, вы все равно можете использовать SP с провайдером Oracle. Я просто добавил SP вручную (см. Ниже) как частичный класс в измененной папке, которую я использую для добавления функциональности к классам, которые генерирует SubSonic.

пример

    public partial class SPs
{
    public static decimal CreateSp(string username, string labelNote)
    {
        Decimal returnId = 0;
        SubSonic.StoredProcedure sp = new StoredProcedure("User.MySP");
        sp.Command.Parameters.Add("username", username, DbType.String);
        sp.Command.Parameters.Add("labelnote", labelNote, DbType.String);
        sp.Command.Parameters.Add("returnId", returnId, DbType.Decimal, ParameterDirection.Output);
        sp.Execute();
        return Convert.ToDecimal(sp.Command.Parameters.Find(delegate(QueryParameter qp) { return qp.ParameterName == "returnId"; }).ParameterValue);
    }

}

...