SubSonic 2.2中的Oracle存储过程

时间:2009-04-29 16:54:32

标签: oracle stored-procedures subsonic

我仍然没有在SubSonic 2.2中针对Oracle 10g数据库生成我的SP。表和视图完美地生成。此产品也是多平台的,因此我们针对SQL 2K5生成SubSonic库,这对于表/视图 SP来说非常有用。

我记得在旧论坛上早期版本的提供程序中存在一个错误,所以我不确定这是否仍然是同一个问题,或者我是否在做错了什么?在Oracle上调用提供程序时,SubStage(UI)也会阻塞(没有SQL问题)。所以我想知道SP中有什么东西会让它窒息[?]

谢谢!真正接近从我们目前的本土DAL迁移到SS。

1 个答案:

答案 0 :(得分:1)

我能够在版本2.1中解决SubSonic中Oracle Provider的许多问题,并且我的大部分修复都将其变为2.2。我没有修复Oracle Provider的SP生成部分,因为我只有一个或两个SP。即使SP生成不起作用,您仍然可以将SP与Oracle Provider一起使用。我只是手动添加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);
    }

}