Vous n'êtes pas identifié(e).
beginTransaction est l'instruction de début de la transaction, comme c'est la cas sur MySQL. SaveToDB fait tout un inset, c'est à dire que dans cette méthode,j'ai rien qu'une instruction INSERT INTO. Quant à commit, il applique tout juste le COMMIT (opposé de roolback)
Merci pour votre soutient.
Bonjour à tous et à toutes,
j'ai un petit souci depuis ce matin sur mes transaction. En fait, j'ai ce bout de code en PHP.
$obj = new Groupe();
$commande = new Ligneprivillege();
$obj->setId($_POST['idcache']);
try
{
$db->beginTransaction();
$obj->SaveToDB();
for($i=2; $i<20; $i++)
{
if($_POST['commande_'.$i.''] !=0)
{
$commande->SaveToDB($_POST['commande_'.$i.'']);
}
}
$db->commit();
echo'opération réalisée avec succès';
}catch(Zend_Exception $e)
{
$db->rollback();
echo'Echec de la transaction à cause de:'.$e->getMessage();
}
Mais quand $obj->SaveToDB(); réussi et $commande->SaveToDB($_POST['commande_'.$i.'']); échoue, tous n'est pas annulés la première enregistre les infos dans la Base de données.
Y a t il un problème dans ce bout de code ?
comment activer les transaction sur PostgreSQL ?
merci pour votre contribution.
Non! aucune lecture du fichier du système d'exploitation, rien que du code simple dont je peut le publié ici si vous le voulez bien .
Ok!
Merci beaucoup pour la précision rjuju !!
j'ai cru à un moment donnée que mon problème de l'utilisation du langage pl/java comme "trusted" venait de là.
jusqu’à présent mes procédures pl/java ne fonctionnent pas en "TRUSTED" seulement avec "untrusted", j'ai déjà cherché partout sur internet sans succès.
peut tu avoir une idée rjuju ??
ok ! Merci
je parle bien du descripteur de déploiement du langage pl/java qui se trouverai dans un dossier "share/java/" de postgresql, et non du postgresqljdbc-4.jar que j'utilise généralement comme midleware postgresql pour java.
mon problème est le suivant: où trouver le fichier de descripteur de déploiement ( postgresql.jar) du langage PL/JAVA ?
selon la documentation de pl/java, ce fichier est se trouve dans le dossier d'installation de postgresql, plus précisement dans "share/java/" que je ne retrouve pas chez moi,
je ne sais pas si j'ai mal installé postgresql.
il contient un descripteur de déploiement permettant de déployer le langage pl/java sur postgresql, d'après ce que dit la documentation de ce langage.
Merci dèja pour votre disponibilité.
Bonjour à tous et à toutes,
je voulais savoir si le sgbd postgresql est livré avec un fichier posgresql.jar , si oui dans quel dossier le trouve-t-on ?
Merci de m'aider.
Bonsoir à tous,
si je comprends bien ça veut dire ici que, le langage pl/java n'est pas encore opérationnel dans postgresql, sauf si l'on utilise LANGUAGE javaU
et laissé de ce fait un niveau de sécurité non contrôle.
Quelque peut t-il me dire pourquoi cela ou bien comment gérer la sécurité au niveau de java quand on utilise untrusted au niveau de la base de donnée .
merci consacrer un peu de votre temps précieux pour m'aider, car je souffre depuis 3 semaine pour ce problème de sécurité.
Bonsoir à tous,
j'ai écris une fonction pl/java dans postgresql, elle fonctionne très bien dans postgresql,
mais quand je l'appel avec un client php, ça me renvois aucun résultat et dans le fichier pg_log j'ai ceci:
n'a pas pu recevoir les données du client : Unknown winsock error 10061
j'aimerai savoir comment résoudre ce problème car j'ai regardé dans la documentation et le code d’erreur 10061 n'y existe pas.
Merci de me consacrer un peu de votre temps précieux
Bonsoir à tous,
j'ai écris une fonction pl/java dans postgresql, elle fonctionne très bien dans postgresql,
mais quand je l'appel avec un client php, ça me renvois aucun résultat et dans le fichier pg_log j'ai ceci:
n'a pas pu recevoir les données du client : Unknown winsock error 10061
j'aimerai savoir comment résoudre ce problème car j'ai regardé dans la documentation et le code d’erreur 10061 n'y existe pas.
Merci de me consacrer un peu de votre temps précieux
si je comprends bien cela veut dire qu'on ne peut pas développer une extension dans les versions antérieur,
mais plutôt des modules.
je vais l’essayer dans 9.1
mais seulement je n'ai pas une méthodologie pour y parvenir
Merci
Bonjour à tous,
je suis tout nouveau dans postgresql et après mes recherches, je me suis rendu compte que les versions de postgresql inférieur à 9.1 n'ont pas encore des extensions.
Ainsi, je voulais savoir s'il est possible de développer une extension dans la version 9.0 ?
si oui , y a il une méthodologie précise pour cela ? j'ai lu la documentation à cet effet et je n'ai pas encore un schéma précis à adopter
Merci de m'accorder un peu de votre temps précieux
Bonsoir à tous,
j'ai un souci depuis une semaine sur les fonctions triggers pljava,
en fait quand j'utilise LANGUAGE java dans mes fonctions, j'ai l'érreur suivante:
ERREUR: java.lang.SecurityException: read on \H:\Program Files\PostgreSQL\9.0\lib\plEtudiant.jar
********** Erreur **********
ERREUR: java.lang.SecurityException: read on \H:\Program Files\PostgreSQL\9.0\lib\plEtudiant.jar
État SQL :XX000
mais quand j'utilise LANGUAGE javaU, tout marche bien, j'aimerai savoir comment contourner ce problème de sécurité en utilisant LANGUAGE java,
puis que la documentation
de pljava ne fais pas allusion à LANGUAGE javaU
Merci de me sortir de ce blocus
SVP, je voulais savoir, pourquoi utiliser javaU (untrusted) au lieu de java tout court, puis que dans la documentation de pljava, c'est plutôt LANGAGE java
est ce que cela veut dire qu'on ne peut pas utililer LANGAGE java et ça marche ?
je le dis parceque j'ai cherché partout sur internet sans succès.
Merci
Bonjour,
j’essaie d'écrire mes fonctions en pljava sur postgresql, mais seulement quand je les appelles, j'ai une exception de sécurité du genre :
ERREUR: java.lang.SecurityException: read on \H:\Program Files\PostgreSQL\9.0\lib\plEtudiant.jar
********** Erreur **********
ERREUR: java.lang.SecurityException: read on \H:\Program Files\PostgreSQL\9.0\lib\plEtudiant.jar
État SQL :XX000
sur la fonction suivante:
CREATE FUNCTION ajouter_etudiant(int4,varchar,varchar,varchar,varchar,varchar,varchar,int4)
RETURNS VARCHAR
AS 'pletudiant.PlEtudiant.ajouterEtudiant'
LANGUAGE java;
SELECT ajouter_etudiant(4,'TSAGUE','GEOVANI','tsague@axxentis.com','78541236','Douala','OCP',2);
pour que ça marche, il faut que au lieu de mettre LANGUAGE java, que je mette LANGUAGE javau, u= untrusted
or après une recherche sur UNTRUSTED j'ai vu que la sécurité n'est pas au rendez vous
Mon problème est le suivant : Comment faire pour que mes fonctions pljava s’exécute sans mettre LANGUAGE java (u) et en plus je voulais savoir ce que veut dire
UNTRUSTED dans les langage de procédure postgresql
je suis à 9.0
merci pour la réponse
ok !!
Merci infiniment !!!!!!!!
cette commande me renvoie
ERREUR: la relation « pg_available_extensions » n'existe pas
LINE 1: select * from pg_available_extensions;
^
********** Erreur **********
ERREUR: la relation « pg_available_extensions » n'existe pas
État SQL :42P01
Caractère : 15
Merci !!!!!!!!!!!!!!!!! rjuju
vous etes magnifique, ça passe maintenant.
une dernière chose, je voulais savoir s'il faut appeler une procédure pljava en java ?
c'est à dire embarquer les points jar sur postgresql, y écrire des procédures pljava et ensuite les appelé dans un programma java
Merci,
concernant " 1) vous avez la vue pg_available_extensions qui vous donne cette liste "
j'ai lu la doc, mais je ne parviens pas à connaitre les extenions qui se trouve dans mon serveur postgresql !
c'est à dire comment les visualiser.
Bonjour,
je voulais savoir :
1- comment faire pour connaitre toutes les extensions de ma version postgresql (quelle script exécuté, ou à quel niveau de postgresql peut on visualiser cela)
2- peut convertir un langage en extension ? si oui comment ?
Bonjour à tous,
j'ai crée un fichier jar sur NetBeans, j'ai chargé ce fichier jar sur postgresql par la commande sqlj.install_jar sans problème. Mais quand j’essaie d 'écrire une fonction en pljava pour exécuter ce fichier, j'ai une exception de sécurité:
ERREUR: java.lang.SecurityException: read on \H:\Program Files\PostgreSQL\9.0\lib\Rectangle.jar
********** Erreur **********
ERREUR: java.lang.SecurityException: read on \H:\Program Files\PostgreSQL\9.0\lib\Rectangle.jar
État SQL :XX000
voici ma fonction pljava :
CREATE FUNCTION mon_rectangle()
RETURNS VARCHAR
AS 'rectangle.Rectangle.main'
LANGUAGE java;
SELECT mon_rectangle();
et classe java sur NetBeans:
package rectangle;
/**
*
* @author bruno.fouape
*/
public class Rectangle {
private int Longueur;
private int largeur;
public Rectangle(int L, int l)
{
this.Longueur=L;
this.largeur=l;
}
public int getLongueur()
{
return this.Longueur;
}
public int getlargeur()
{
return this.largeur;
}
public void setLongueur(int L)
{
this.Longueur=L;
}
public void setlargeur(int l)
{
this.largeur=l;
}
public int donnerperimetre()
{
return (this.Longueur + this.largeur)* 2;
}
public int donnersurface()
{
return this.Longueur * this.largeur;
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Rectangle r1= new Rectangle(10,20);
System.out.println("le perimètre est " + r1.donnerperimetre() );
System.out.println("la surface est " + r1.donnersurface() );
// TODO code application logic here
}
}
je suis tout députant dans Postgesql et pl/java.
Merci de votre aide
un très grand merci rjuju,
il me fallait tout juste redémarrer la machine completement, mais actuellement un dernier problème:
quand j'éssaie d'installer un jar dans postgresql, j'ai cette érreur:
ERREUR: java.sql.SQLException: I/O exception reading jar file: unknown protocol: h
********** Erreur **********
ERREUR: java.sql.SQLException: I/O exception reading jar file: unknown protocol: h
État SQL :XX000
Je ne sais de quel protocol est qu'il s'agit !
Merci pour de votre aide
Merci,
je l'ai fais mais aucun changement au niveau de l'érreur,
le probleme c'est que:
quand je crée une fonction pljava, tout passe bien, mais quand je fait l'appel d'une des fonction ( SELECT sqlj.java_call_handler(); ou SELECT sqlj.install_jar('H:/Program Files/PostgreSQL/8.3/share/pljava/examples.jar', 'samples', true);
par exemple), c'est là ou j'ai cette érreur
ATTENTION: java.lang.NoClassDefFoundError: org/postgresql/pljava/internal/Backend
est ce qu'il y a une façon de modier le CLASSPATH avec les fonction get_classparh() et set_classpath() fournie avec le shéma sqlj ?
oui ! je l'ai fais avec cette ligne de code dans le fichier postgresql.con.f
pljava.classpath = 'H:\\Program Files\\PostgreSQL\\8.4\\share\\pljava\\pljava.jar'
je doute aussi sur la version du jdk 1.7 que j'utilise actuellement, je compte aussi le mettre à jour pour voir le comportement
Merci pour votre disponibilité