Connection à FireBird impossible : SQLSTATE[HY000] [335545106]Je crois comprendre qu'il s'agit d'un problème d'authentification.
<?php /*-----------------------------------------------------*/ /* Informations pour la connexion à la base de données */ /*-----------------------------------------------------*/ $nom_du_serveur = "firebird:dbname=127.0.0.1/3050:F:/Wamp/bin/firebird/courant/examples/empbuild/employee.fdb"; $nom_utilisateur = "sysdba"; $mot_de_passe = "masterkey"; $options = array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION); /*----------------------*/ /* Connexion au Serveur */ /*----------------------*/ try { $link = new PDO($nom_du_serveur,$nom_utilisateur,$mot_de_passe,$options); } catch (Exception $e) { echo "Connection à FireBird impossible : ", htmlentities($e->getMessage()); die(); } ?>Dans ce cas pourquoi j'accède à Firebird, sans rien modifier, en redémarrant les services Firebird et Mysql ?
Warning: odbc_connect(): SQL error: [ODBC Firebird Driver]operating system directive CreateFileMapping failed Accès refusé. , SQL state 08004 in SQLConnect in F:\Site-01\Ex_02\PHP2\FireBird_In.php on line 15 Fatal error: Uncaught TypeError: odbc_exec(): Argument #1 ($odbc) must be of type resource, bool given in F:\Site-01\Ex_02\PHP2\Index.php:36 Stack trace: #0 F:\Site-01\Ex_02\PHP2\Index.php(36): odbc_exec(false, 'SELECT dept_no,...') #1 {main} thrown in F:\Site-01\Ex_02\PHP2\Index.php on line 36Voici comment je me connecte :
<?php /*-----------------------------------------------------*/ /* Informations pour la connexion à la base de données */ /*-----------------------------------------------------*/ $nom_du_serveur = "driver={Firebird/InterBase(r) driver};server=localhost/3050;database=F:/Wamp/bin/firebird/courant/examples/empbuild/employee.fdb;client=F:/Wamp/bin/firebird/courant/fbclient.dll;"; $nom_utilisateur = "sysdba"; $mot_de_passe = "masterkey"; /*----------------------*/ /* Connexion au Serveur */ /*----------------------*/ try { $link = odbc_connect($nom_du_serveur, $nom_utilisateur, $mot_de_passe); } catch (Exception $e) { echo "Connection à FireBird impossible : ", htmlentities($e->getMessage()); die(); } ?>J'ai mis en place mes programmes depuis plusieurs années et je ne comprends pas ce qui a changé depuis.
Je n'ai rien réinstallé du tout car sur mon nouveau PC, j'ai transféré mon ancien Windows.Citation
Otomatic
Sur le nouveau PC, as-tu réinstallé les paquetages VC++ ?
En effet, j'utilise bien la dernière version de :Citation
Otomatic
Suivant les versions Apache, PHP et MySQL utilisées, ce peut être uniquement la dernière version 2015-2022 (VS17) dont on a besoin.
Ce n'est pas spécifique à Firebird mais aux services.Citation
Otomatic
Quant à Firebird, je ne peux pas être d'un grand secours, je n'ai jamais utilisé.
Fonctionnement « normal ». En automatic, les services sont lancés au démarrage de Windows. En Manuel, les services sont lancés par Wampserver.Citation
Artemus24
Si je mets les services à "Automatic", je m'attends à voir les services démarrer.
Or ce n'est pas le cas. L'icône Wampserver reste à vert tout le temps.
Inversement, si les services sont à "manuel", je vois l'icône passer de rouge, à orange puis à vert.
Au redémarrage de windows. Si j'arrête le service, il ne va pas redémarrer tout seul.Citation
Otomatic
À voir démarrer sous quels critères et/ou quelle action ?
C'est le sujet de cette discussion.Citation
Otomatic
Je ne comprends pas où est le problème !
Citation
Artemus24
Quand je rentre dans Windows, je vois l'icône WampServer.
Si je mets les services à "Automatic", je m'attends à voir les services démarrer.
Or ce n'est pas le cas. L'icône Wampserver reste à vert tout le temps.
Inversement, si les services sont à "manuel", je vois l'icône passer de rouge, à orange puis à vert.
Action: service; Service: wampapache64; ServiceAction: startresume; Flags: ignoreerrors waituntilterminated Action: service; Service: wampmysqld64; ServiceAction: startresume; Flags: ignoreerrors waituntilterminated Action: service; Service: wampmariadb64; ServiceAction: startresume; Flags: ignoreerrors waituntilterminated
Je suis désolé pour mes explications nébuleuses.Citation
Otomatic
Je suis désolé, mais je ne comprends absolument pas où est le problème !
Action: service; Service: wampmysqld64; ServiceAction: startresume; Flags: ignoreerrors waituntilterminatedEst-ce que "startresume" va quand même envoyer une commande de démarrage "sc start wampmysqld64" si le service est déjà démarré, je n'en sais rien.
C:\Windows\system32>sc start wampmysqld64 [SC] StartService échec(s) 1056 : Une instance du service s’exécute déjà.Ce qui montre qu'il n'y a pas redémarrage d'un service déjà démarré.
Comme chez moi. Mes services sont en conformité avec les tiens.Citation
Otomatic
Mon service wampmysqld64 est paramétré comme suit :
- Connexion : Compte système local
- Dépendances : Aucune
- Récupération : Ne rien faire
Il n'y a que le service Wampapache64 qui a des dépendances :
- Dépend de
-- Pilote de fonction connexe pour Winsock
-- Pilote pour protocoleTCP/IP
2021-12-03T05:13:31.689513Z 0 [ERROR] [MY-012611] [InnoDB] Operating system error number 5 in a file operation. 2021-12-03T05:13:31.691344Z 0 [ERROR] [MY-012614] [InnoDB] The error means mysqld does not have the access rights to the directory. It may also be you have created a subdirectory of the same name as a data file. 2021-12-03T05:13:31.694283Z 0 [ERROR] [MY-013183] [InnoDB] Assertion failure: fil0fil.cc:8111:req_type.is_dblwr() || err == DB_SUCCESS thread 8104 InnoDB: We intentionally generate a memory trap. InnoDB: Submit a detailed bug report to [bugs.mysql.com]. InnoDB: If you get repeated assertion failures or crashes, even InnoDB: immediately after the mysqld startup, there may be InnoDB: corruption in the InnoDB tablespace. Please refer to InnoDB: [dev.mysql.com] InnoDB: about forcing recovery. 05:13:31 UTC - mysqld got exception 0x80000003 ; Most likely, you have hit a bug, but this error can also be caused by malfunctioning hardware. Thread pointer: 0x22781a4c860 Attempting backtrace. You can use the following information to find out where mysqld died. If you see no messages after this, something went terribly wrong... 7ff7eb8524b2 mysqld.exe!my_sigabrt_handler()[my_thr_init.cc:372] 7ffb28841881 ucrtbase.dll!raise() 7ffb28842851 ucrtbase.dll!abort() 7ff7eba7820a mysqld.exe!ut_dbg_assertion_failed()[ut0dbg.cc:99] 7ff7eb9d7234 mysqld.exe!Fil_shard::do_io()[fil0fil.cc:8111] 7ff7eb9db1bd mysqld.exe!fil_io()[fil0fil.cc:8263] 7ff7eb9993fb mysqld.exe!Double_write::write_to_datafile()[buf0dblwr.cc:1124] 7ff7eb999255 mysqld.exe!Double_write::write_pages()[buf0dblwr.cc:1504] 7ff7eb9950da mysqld.exe!Double_write::force_flush()[buf0dblwr.cc:392] 7ff7eba406d0 mysqld.exe!buf_flush_page()[buf0flu.cc:1380] 7ff7eba429ec mysqld.exe!buf_flush_try_neighbors()[buf0flu.cc:1600] 7ff7eba4092c mysqld.exe!buf_flush_page_and_try_neighbors()[buf0flu.cc:1682] 7ff7eba3ee33 mysqld.exe!buf_do_flush_list_batch()[buf0flu.cc:1916] 7ff7eba3f3a9 mysqld.exe!buf_flush_batch()[buf0flu.cc:1979] 7ff7eba3f6c3 mysqld.exe!buf_flush_do_batch()[buf0flu.cc:2093] 7ff7eba403c6 mysqld.exe!buf_flush_lists()[buf0flu.cc:2125] 7ff7eba41397 mysqld.exe!buf_flush_page_coordinator_thread()[buf0flu.cc:3434] 7ff7eba30816 mysqld.exe!std::thread::_Invoke<std::tuple<Detached_thread,void (__cdecl*)(unsigned __int64),unsigned __int64>,0,1,2>()[thread:54] 7ffb287f1bb2 ucrtbase.dll!_configthreadlocale() 7ffb2aa07034 KERNEL32.DLL!BaseThreadInitThunk() 7ffb2ade2651 ntdll.dll!RtlUserThreadStart() Trying to get some variables. Some pointers may be invalid and cause the dump to abort. Query (0): Connection ID (thread ID): 0 Status: NOT_KILLED The manual page at [dev.mysql.com] contains information that should help you find out what is causing the crash.Je relance les services par WampServer. Plus aucun problème !
Voir si il y a plus de détails dans l'observateur d'événements.Citation
[InnoDB] Operating system error number 5 in a file operation.
The error means mysqld does not have the access rights to the directory. It may also be you have created a subdirectory of the same name as a data file.
Nom de l’application défaillante mysqld.exe, version : 8.0.27.0, horodatage : 0x61532482 Nom du module défaillant : mysqld.exe, version : 8.0.27.0, horodatage : 0x61532482 Code d’exception : 0x80000003 Décalage d’erreur : 0x00000000010324b2 ID du processus défaillant : 0x1938 Heure de début de l’application défaillante : 0x01d7e9cc7e665f43 Chemin d’accès de l’application défaillante : f:\Wamp\bin\mysql\mysql8.0.27\bin\mysqld.exe Chemin d’accès du module défaillant: f:\Wamp\bin\mysql\mysql8.0.27\bin\mysqld.exe ID de rapport : be29cd2f-bb14-4b5f-957d-26a8b180af7b Nom complet du package défaillant : ID de l’application relative au package défaillant :Je soupçonne que les services s'exécutent trop tôt.
2021-12-07T16:22:15.100990Z 0 [System] [MY-010931] [Server] f:\Wamp\bin\mysql\mysql8.0.27\bin\mysqld.exe: ready for connections. Version: '8.0.27' socket: '' port: 3306 MySQL Community Server - GPL. 2021-12-07T16:22:15.515840Z 0 [ERROR] [MY-012611] [InnoDB] Operating system error number 5 in a file operation. 2021-12-07T16:22:15.515843Z 0 [ERROR] [MY-012611] [InnoDB] Operating system error number 5 in a file operation. 2021-12-07T16:22:15.517160Z 0 [ERROR] [MY-012614] [InnoDB] The error means mysqld does not have the access rights to the directory. It may also be you have created a subdirectory of the same name as a data file. 2021-12-07T16:22:15.518332Z 0 [ERROR] [MY-012614] [InnoDB] The error means mysqld does not have the access rights to the directory. It may also be you have created a subdirectory of the same name as a data file. 2021-12-07T16:22:15.520985Z 0 [ERROR] [MY-013183] [InnoDB] Assertion failure: fil0fil.cc:8111:req_type.is_dblwr() || err == DB_SUCCESS thread 10480 2021-12-07T16:22:15.523504Z 0 [ERROR] [MY-013183] [InnoDB] Assertion failure: fil0fil.cc:8111:req_type.is_dblwr() || err == DB_SUCCESS thread 10476 InnoDB: We intentionally generate a memory trap. InnoDB: Submit a detailed bug report to [bugs.mysql.com]. InnoDB: If you get repeated assertion failures or crashes, even InnoDB: immediately after the mysqld startup, there may be InnoDB: corruption in the InnoDB tablespace. Please refer to InnoDB: [dev.mysql.com] InnoDB: about forcing recovery. InnoDB: We intentionally generate a memory trap. InnoDB: Submit a detailed bug report to [bugs.mysql.com]. InnoDB: If you get repeated assertion failures or crashes, even InnoDB: immediately after the mysqld startup, there may be InnoDB: corruption in the InnoDB tablespace. Please refer to InnoDB: [dev.mysql.com] InnoDB: about forcing recovery.Je n'ai même pas eu besoin de tester en allant dans mon site web.