2010-06-07 4 views
1

Je travaille avec Crystal Report 2008 sp2 et lors de la création d'un nouveau modèle de rapport, j'ai rencontré un problème. J'ai créé une procédure stockée, qui prépare et pivote les données nécessaires côté serveur et les filtre à l'aide d'un paramètre.Crystal Reports et procédures stockées avec paramètres

Lorsque j'essaie d'ajouter cette procédure stockée au modèle de rapport dans Crystal Editor, je reçois l'erreur SQL 102 - syntaxe incorrecte près de ')'. Bien que je puisse facilement ajouter la fonction définie par l'utilisateur à mon rapport avec exactement le même paramètre.

Quelle pourrait être la source du problème?

P.S. La procédure stockée s'exécute et renvoie les données correctes si je l'exécute dans le SSMS.

+0

Pouvez-vous modifier votre question et ajouter le code pour votre procédure stockée? – PowerUser

Répondre

1

Tant que vous retournez un jeu d'enregistrements de la procédure de magasin essayez d'utiliser un objet de commande

dans l'objet de commande:

EXEC mystoredProc ({?variable1}, {?variable2}) 
+0

Merci beaucoup! Cette façon de faire fonctionne pour moi! – DarkDeny

+0

Encore une question - comment je peux lier? Variable1 avec un paramètre de rapport, que je reçois du code C#? – DarkDeny

0

Le « exec mystoredProc() » était un bon essai, mais n'a pas fonctionné pour moi. Crystal de/vers Oracle 10g SPs donne un coup de pied à MY Butt ... J'ai travaillé tous les exemples de BOXI/SAP, un couple du web, et de "Crystal Reports 9 sur Oracle", et tout ce que je reçois sont Les messages d'erreur de Crystal/Oracle. La dernière en date est "Objet spécifié est incompatible avec le drapeau spécifié." ORA-04047, avec un ORA-20004 et un Ora-06512 jetés pour faire bonne mesure.

J'essaie d'obtenir le retour SP le plus simple pour un début ... Donnez-moi juste les résultats de Select * d'une table.

Des indices? J'ai essayé les pilotes natifs Oracle (client), les pilotes Oracle ODBC ... Je n'ai pas eu les pilotes Crystal Oracle pour fonctionner, par exemple. Selon le pilote que j'utilise, je peux obtenir PLS-00302 - Le composant doit être déclaré.

J'ai écrit et réécrit ces choses encore et encore. En ce moment, je ne suis pas un heureux campeur Oracle. MS SQL était tellement plus facile.