PHP Impossible de Connecter à 2 BDD PSQL - PHP - Programmation
Marsh Posté le 18-03-2020 à 15:22:36
Si tu n'as pas une typo quelque part, c'est sans doute un bug du connecteur...
Apparemment y'a eu un bug de garbage avec pg_connect, ça peut être un side effect d'un fix ou un autre bug, si tu est sur de toi ouvre un ticket.
En attendant, essayes de faire autrement, tu peux par exemple ouvrir master_base_1, récuperer toutes tes données les mettre dans un tableau php, fermer ton premier curseur, puis ouvrir ta 2eme connection sur master_base_requetes et créer ta table avant de faire tes inserts.
Évidement si c'est une procédure répété X fois ca vas être un peu reloud en terme de charge pour le serveur...
Sinon, je ne connais pas trop PSQL (et encore moins tes possibilités au niveau de la gestion de base) mais ce que je ferais moi sur Mysql si j'avais la main c'est utiliser un user qui aurait les droits READ sur master_base_1 ET WRITE sur master_base_requetes et qui ferait tout avec une seule connection en prefixant le nom de tes tables dans tes requetes avec le nom de la base de donnée.
Code :
|
Un truc du genre...
Marsh Posté le 18-03-2020 à 18:47:35
ReplyMarsh Posté le 18-03-2020 à 19:10:33
Seulement, j'ai testé, en spécifiant le nom de BDD.TABLE comme avec MySQL, PostGresql m'envoie bouler...
Marsh Posté le 18-03-2020 à 20:34:44
Il faut que ton utilisateur est les droits sur le deux base de donnée (souvent quand on crée une base de donnée, on crée un utilisateur unique qui vas avec), et comme je l'ai dit, je ne connais pas assez PSQL pour savoir s'il supporte cette syntaxe...
Tu as un message d'erreur ?
Marsh Posté le 18-03-2020 à 20:52:25
Ben non aucun code d'erreur mais là je suis en train de recopier le code pas à pas et je vous tiendrai au courant.
Pour le moment il me semble que j'arrive à lire sur la première base et à écrire sur la deuxième. Le truc c'est que j'ai intégré tellement de conditions que je dois faire attention.
Marsh Posté le 18-03-2020 à 14:00:39
Donc ci dessus je me connecte à 2 bases sur PSQL.
Pas de message d'erreur.
Le script fait ceci:
En fonction des cas de figure qui me sont proposés, il recopie les requêtes depuis la table située dans master_base_1 vers une table dans master_base_requetes afin de pouvoir les récupérer par la suite sans devoir se taper toute la base principale.
Par exemple on a ce code qui s'execute (j'ai inclus une boucle de verif, il s'execute bien):
Et donc le problème est que la table $NOM_TABLE est créée et implémentée dans la PREMIERE BDD (master_base_1) alors que je lui demande de la créer avec la liaison cursor2
Je ne comprends pas ce qu'il se passe.
---------------
http://www.ypikay.com