2009-05-06 11 views
1

Dans mon application Delphi7, je peux me connecter à la base de données en tant qu'administrateur ("Dave"), mais pas en étant connecté en tant qu'utilisateur standard ou limité ("Paris"). Happens sur XP Accueil & Vista Business Ultimate 64. J'utilise un alias pour la base de données, et j'ai essayé de placer le fichier .fdb dans Program Files, dans un dossier d'application sur le lecteur C, et dans Users \ Application Data & Documents and settings \ Données d'application.La connexion Firebird échoue pour un utilisateur limité

Y a-t-il une véritable règle & pour situer le fichier .fdb? Est-ce que je manque quelque chose d'évident?


Il est temps de reformuler la question. J'ai toujours les mêmes problèmes avec un accès utilisateur limité, mais sachez maintenant que Firebird fonctionne en tant que service - il devrait pouvoir r/w n'importe quel fichier n'importe où. Et, mghie, votre suggestion que j'essaie d'accéder avec isql était géniale. Je peux me connecter en tant qu'utilisateur limité. Je suis probablement casser quelque chose dans mon application., & IBO trébuche dessus.

Question reformulée: Quel est le meilleur endroit généralement accepté pour installer le fichier .fdb?


Oui, je peux me connecter avec isql comme "Paris". Je soupçonne que la difficulté a quelque chose à voir avec l'emplacement du fichier .fdb. a) Program Files \ Appname \ Appname.fdb b) C: \ Appname \ Appname.fdb c) C: \ Documents and Settings \ All Users \ Application Data \ Appname \ Appname.fdb

application ne travailler en tant qu'utilisateur limité lorsque la base de données (& alias) est dans tous ces endroits.

+0

Vous devez d'abord vérifier s'il s'agit d'un problème avec votre programme ou avec le système. Pouvez-vous utiliser isql dans le compte d'utilisateur limité pour vous connecter à la base de données? Les deux sous la forme "DBAlias" et "localhost: DBAlias"? Et ajoutez plus d'informations sur les paramètres de connexion. Par exemple, quelle est la valeur de la propriété TIB_Connection.Protocol? – mghie

Répondre

0

Il semble que vous utilisiez l'authentification Windows pour vous connecter à la base de données au lieu de l'authentification native de firebird.
Avez-vous essayé de fournir un nom d'utilisateur et un mot de passe?
Autre que cela, quel est le message d'erreur réel lorsque vous essayez de vous connecter?

+0

J'utilise IBO 4.7. Il échoue à TIB_Connection.Connect, avec le message d'erreur Impossible d'ouvrir le fichier '' ''. Le système ne peut pas trouver le chemin spécifié. La méthode Connect est dans un try..except - Elle plante immédiatement, ne touchant jamais mon code d'exception. J'ai ajouté un tag IBO à la question. –

+0

avez-vous essayer avec IBX? fait-il la même chose? –

0

Je ne crois pas que les utilisateurs limités ont l'autorisation d'écrire des fichiers à la plupart des endroits que vous avez cités pour stocker le fichier .fdb:

  1. Program Files \ Appname \ Appname.fdb
  2. C: \ Appname \ Appname.fdb
  3. C: \ Documents and Settings \ All Users \ application Data \ Appname \ Appname.fdb

On dirait que vous utilisez Firebird comme une base de données intégrée. Dans ce cas, le mieux serait de stocker le fichier FDB dans le dossier de données d'application de chaque utilisateur. Par exemple:

C:\Documents and Settings\Paris\Application Data\Appname\Appname.fdb 
Questions connexes