Comment créer des fonctions PL/SQL - ASP - Programmation
Marsh Posté le 17-09-2004 à 13:07:59
tumbler a écrit : Bonjour, |
créer ta procedure stockée :
http://www.infini-fr.com/Sciences/ [...] plsql.html
Marsh Posté le 17-09-2004 à 13:59:08
Salut Alien_nan,
Je sais créer des scripts PL/SQL , mais ce que je ne sais pas faire, c'est de les déclarer via l'asp . En gros, de mon site on peut se connecter à toutes les bases oracles visibles. Mais, je ne veux pas avoir à déclarer ces scripts sur chaques bases via sqlplus. C'est pourquoi, je veux qu'après la connection, ma page asp execute une commande ( qui est celle qui me manque ) de déclaration de ces scripts .
J'ai beau chercher, je tombe toujours sur des pages web comme celle qui correspond à ton lien.
As-tu une idée ?
Marsh Posté le 17-09-2004 à 14:02:47
Les procédures stockées sont pas censées disparaître à l'arrêt de la base !
Marsh Posté le 17-09-2004 à 14:42:36
En fait, c'est plus complexe !
Ce site permet de se connecter à des bases où sont executés des traitements batch ( pour visualiser les traitements en temps réel ).
Une fois fini, j'effectue une restore ( a froid ) de ces bases. D'ou mon problème à devoir recréer tous ces scripts !
Marsh Posté le 17-09-2004 à 15:01:59
tumbler a écrit : En fait, c'est plus complexe ! |
Pourquoi ne pas integrer tes procedures ds ta base que tu restores ?
Marsh Posté le 17-09-2004 à 15:11:30
Mon problème est peut-être ailleurs effectivement !
En fait lorsque je crée un nouveau jeu de données dans une de mes bases, ce dernier ne connait pas la fonction. Mais peut-être existe-t-il un moyen de créer une fonction visible pour tous les owners d'une base Oracle ?!
Marsh Posté le 17-09-2004 à 17:06:54
Bon, je viens de me renseigner.
Les fonctions sont definies niveau jeu de données .
C'est bien ce que je craignait. Cela veux dire qu'a chaque nouveaux jeu de données il faut recréer la fonction.
Et je voudrais donc, que notre portail d'accès aux bases les déclare à la connexion.
Donc, pour toute info, je suis preneur ! Merci d'avance.
Marsh Posté le 17-09-2004 à 17:17:10
tu ne peux pas restorer ta base, insérer ta fonction, faire un backup et utiliser celle la pour faire tes backup ?? (il me semble que c'est ce que j'avais evoqué avt ? )
Marsh Posté le 21-09-2004 à 16:27:18
Ayé, j'ai trouvé.
Il faut utiliser "vbCrLf" pour le retour chariot ( je savait pas ) et ne pas mettre le "/" de fin de script.
Voici le résultat :
<%
...
function_to_jul = "create or replace function to_jul(dat in char) return number is" & vbCrLf & "j number;" & vbCrLf & "begin" & vbCrLf & "j:=to_char(to_date(dat,'DD/MM/YYYY'), 'J')-2378496;" & vbCrLf & "return j;" & vbCrLf & "end;" & vbCrLf
Set fctn_to_jul = objConn.Execute (function_to_jul)
...
%>
On peut ainsi se connecter sur toutes les bases même après restoration, ou import de nouveau owner, ... nickel !
Merci pour vos infos.
Marsh Posté le 16-09-2004 à 18:09:02
Bonjour,
Alors, j'ai parcouru le forum, mais je n'ai trouvé que des posts au sujet de l'utilisation de script PL/SQL.
Mais ce que je veux, c'est pouvoir le créer !
J'ai un script PL/SQL que je crée sous Oracle via sqlplus pour le moment
Voici mon script :
create or replace function to_dat(jul in number) return char is
j char(10);
begin
j:=to_char(to_date(jul + 2378496,'J'), 'DD/MM/YYYY');
return j;
end;
/
Mes pages ASP utilisent bien ce script mais lorsque j'arrete la base ou la restore, je suis obligé de retourner dans sqlplus pour les recréer.
Quelqu'un connait-il la syntaxe pour créer cette fonction en ASP ?!