2009-04-29 5 views
0

Ich bekomme immer noch nicht meine SPs in SubSonic 2.2 gegen eine Oracle 10g DB generiert. Die Tabellen und Ansichten generieren sich perfekt. Auch dieses Produkt ist Multiplattform, so dass wir SubSonic-Bibliotheken gegen SQL 2K5 genen und das funktioniert hervorragend für Tabellen/Ansichten und SPs.Oracle Stored Procedures in SubSonic 2.2

Ich erinnere mich an die alten Foren gab es einen Fehler in früheren Versionen des Providers, also bin ich mir nicht sicher, ob das immer noch das gleiche Problem ist, oder wenn ich etwas falsch an meinem Ende mache? Auch SubStage (die UI) Drosseln beim Aufruf des Providers auf Oracle (keine Probleme mit SQL). Also ich denke, es gibt etwas in den SPs, die es ersticken [?]

Vielen Dank! Real nah an der Migration von unserer aktuellen Heimat DAL auf SS.

Antwort

1

Ich konnte viele Probleme mit dem Oracle-Provider in SubSonic in Version 2.1 beheben und die meisten meiner Korrekturen machten es in 2.2. Ich habe nicht daran gearbeitet, den SP-Erzeugungsteil des Oracle-Providers zu reparieren, da ich nur ein oder zwei SPs hatte. Auch wenn die SP-Generation nicht funktioniert, können Sie immer noch SPs mit dem Oracle-Provider verwenden. Ich habe einfach die SPs von Hand (siehe unten) als Teilklasse in den geänderten Ordner hinzugefügt, den ich benutze, um den SubSonic-Klassen Klassen hinzuzufügen.

Beispiel

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); 
    } 

}

+0

Ja, hat ich versucht, einen viel einfacheren Test mit einem einzigen (nicht verpackt) proc und ich die gleichen Sache (keine rufenden über Unterstufe und nichts in der Einstiegs- SPs.cs-Datei). Vielen Dank für das oben genannte - ich denke, dass meine SPs auf ein paar komplexe Elemente mit viel Transaktionsverarbeitung beschränkt sein werden, daher ist es wahrscheinlich keine große Sache, ein paar eigene Wrapper zu generieren. –