2009-04-29 6 views
0

Je ne reçois toujours pas mes SP générés dans SubSonic 2.2 par rapport à une base de données Oracle 10g. Les tables et les vues génèrent parfaitement. Aussi ce produit est multiplateforme donc nous gén'ing up bibliothèques de SubSonic contre SQL 2K5 et cela fonctionne très bien pour les tables/vues et SP. Je me souviens que sur les anciens forums il y avait un bug dans les versions antérieures du fournisseur, donc je ne suis pas sûr si c'est toujours le même problème, ou si je fais quelque chose de mal de mon côté? Aussi SubStage (l'interface utilisateur) étouffe lors de l'appel du fournisseur sur Oracle (pas de problèmes avec SQL). Donc, je pense qu'il y a quelque chose dans les SP qui l'étouffent [?]Procédures stockées Oracle dans SubSonic 2.2

Merci! Vraiment proche de migrer vers SS à partir de notre DAL maison actuelle.

Répondre

1

J'ai été en mesure de résoudre un grand nombre de problèmes avec le fournisseur Oracle dans SubSonic dans la version 2.1 et la plupart de mes correctifs l'ont fait en 2.2. Je n'ai pas travaillé sur la réparation de la partie génération de SP du fournisseur Oracle car je n'avais qu'un ou deux SP. Même si la génération SP ne fonctionne pas, vous pouvez toujours utiliser des SP avec le fournisseur Oracle. J'ai simplement ajouté les SP à la main (voir ci-dessous) en tant que classe partielle dans le dossier modifié que j'utilise pour ajouter des fonctionnalités aux classes générées par SubSonic.

exemple

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

Ouais, j'ai essayé un test beaucoup plus simple avec un seul (non emballé) proc et je reçois la même chose (pas par invocation et rien dans sous-étage de la Fichier SPs.cs). Merci beaucoup pour ce qui précède - je pense que mes SP seront limités à quelques éléments complexes avec beaucoup de manipulation des transactions, donc générer quelques enveloppes de mon propre n'est probablement pas une affaire énorme). –

Questions connexes