Firebird Erreur lors de la tentative de créer un fichier, le refus d'une Autorisation
Je suis en train de créer un Firebird base de données dans mon répertoire home par Flamerobin cependant j'ai toujours
*** IBPP::SQLException ***
Context: Database::Create
Message: isc_dsql_execute_immediate failed
SQL Message : -902
Unsuccessful execution caused by a system error that precludes successful execution of subsequent statements
Engine Code : 335544344
Engine Message :
I/O error during "open O_CREAT" operation for file "/home/user/test.fdb"
Error while trying to create file
Permission denied
même si le fichier est un chmod 777 sur le fichier /etc/firebird/2.5/firebird.conf a été modifié, de sorte que:
DatabaseAccess = Full
est configuré pour permettre l'accès à tous les fichiers.
Le service est en cours d'exécution:
$ ps ax | grep fireb
3909 ? S 0:00 /usr/sbin/fbguard -daemon -forever -pidfile /var/run/firebird/2.5/fbserver.pid
même si étrangement la commande netstat ne trouve pas le port de connexion:
netstat | grep 3050
et renvoie la liste est vide.
Si je me connecte à une base de données existante sur tous les travaux, par exemple la connexion à
/var/lib/firebird/2.5/system/help.fdb
affiche correctement les tables.
OriginalL'auteur saimiris_devel | 2015-04-29
Vous devez vous connecter pour publier un commentaire.
Je vois deux causes possibles:
Vous mentionner que le fichier est en chmod 777, ce qui implique que le fichier existe déjà, donc créer une nouvelle base de données échoue.
Vous êtes en train de créer (ou connecter) à un fichier dans un dossier de l'utilisateur (je suppose que le vôtre), par l'intermédiaire du serveur Firebird (bien que le fait pas de serveur est en cours d'exécution pourrait indiquer que ce n'est pas le cas).
Je suppose que le serveur Firebird n'est pas en cours d'exécution sur votre compte (mais en vertu de l'oiseau de feu de l'utilisateur), et par conséquent, il n'est pas autorisé à accéder à des fichiers dans votre dossier.
Vous avez besoin de créer (ou d'accès) de la base de données dans un emplacement où la Firebird utilisateur dispose des droits d'accès, ou de l'utilisation d'un local (embedded) (même si je ne suis pas sûr si c'est pris en charge par flamerobin.
OriginalL'auteur Mark Rotteveel
Vous devez faire certaines choses... tout d'abord, nous allons voir les trucs de sécurité...
dans le fichier
/etc/firebird/2.5/firebird.conf
section: DatabaseAccess il doit être comme ceci:
maintenant, dans le fichier
/etc/firebird/2.5/aliases.conf
vous mettre un alias et le répertoire...
enregistrer et redémarrer l'oiseau de feu de service comme:
vous devez changer le propriétaire du répertoire comme ceci:
et maintenant vous pouvez utiliser flamerobin sans aucun problème...
OriginalL'auteur edgar rodriguez
Vérifier /home/utilisateur propriétaire et mode et firebird propriétaire du processus. Je suis sûr que l'utilisateur qui exécute firebird n'ont tout simplement pas accès à ce répertoire.
OriginalL'auteur Artyom Smirnov
J'ai eu le même problème, tel que décrit, en essayant d'exécuter firebird 2.5 dans un Oracle Linux OS, ne peut pas restaurer une base de données avec gbak, même message d'erreur.
Après une recherche, j'ai trouvé une réponse en disant: concernant les autorisations sur le répertoire de destination et sur le répertoire temp.
Ma solution: en tant que root:
d'abord re-exécuter le programme d'installation de firebird de subvention qui ne sont pas des problèmes lors de l'installation;
après, créer le répertoire spécifique pour les bases de données firebird /(par exemple /fdb),
déplacer les fichiers de sauvegarde de ce répertoire;
changer le propriétaire de tout le répertoire de firebird avec cette commande
après cela, gbak est normalement pour moi, l'exécuter en tant que root.
référence: http://forums.devshed.com/firebird-sql-development-61/gbak-restore-linux-453690.html
OriginalL'auteur Luiz Soares