IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bases de données Delphi Discussion :

[D10 Seattle][SQL Server] L'autorisation SELECT a été refusée


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2004
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2004
    Messages : 69
    Par défaut [D10 Seattle][SQL Server] L'autorisation SELECT a été refusée
    Bonjour le forum

    Je vous explique ma problématique ...

    J'ai développé un programme Delphi se connectant en ODBC sur une base de données SQL Server. La BDD que j'utilise est issue du backup de la BDD de mon client.
    Sur ma machine, l'application est fonctionnelle. Sur la machine de mon client, l'application déclenche le message d'erreur "[FireDAC][Phys][ODBC][Microsoft][ODBC SQL Server Driver][SQL Server] L'autorisation SELECT a été refusée sur l'objet 'NOM_DE_LA_TABLE', base de données 'NOM_DE_LA_BDD', schéma 'dbo'." sur une des tables. D'autres tables ne posent pas de problème.

    Une autre application Delphi développée par le client lui-même, avec une version de Delphi beaucoup plus ancienne, peut se connecter sans problème sur la table en question.

    Les deux applications utilisent la même connexion ODBC.

    En résumé :
    - 1 connexion ODBC
    - 2 applications installées sur une même machine essaient d'accéder à une table d'une base de données SQL Server
    - 1 application requête la table sans problème
    - 1 application déclenche l'erreur lorsqu'elle requête la table

    Quelqu'un a une idée ?
    Est-ce que ce problème peut venir du paramétrage des querys que j'utilise ?
    Ou plutôt est-ce que tu paramétrage sur les querys pourrait empêcher l'erreur ?

    Toute aide sera la bienvenue et d'avance je vous en remercie !!!

    Fred

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 739
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 739
    Billets dans le blog
    65
    Par défaut
    Bonjour,

    Je ne connais pas MySQL Server mais j'ai eu une expérience similaire avec FireBird. La cause en était que la base de données était en mode mono-utilisateur c'est-à-dire qu'un seul client pouvait accéder à la BDD.
    Si je cherche dans la documentation SQL Server je lis :
    -mClient Application Name Limite les connexions à une application cliente spécifiée. Par exemple, -mSQLCMD limite les connexions à une seule connexion et cette connexion doit s'identifier en tant que programme client SQLCMD. Utilisez cette option lorsque vous démarrez SQL Server en mode mono-utilisateur et qu'une application cliente inconnue prend la seule connexion disponible. Utilisez 'Microsoft SQL Server Management Studio - Query' pour vous connecter à l'éditeur de requête SSMS. L'option SSMS Query Editor ne peut pas être configurée à l'aide du gestionnaire de configuration SQL Server car elle inclut le caractère tiret qui est rejeté par l'outil.

    Le nom de l'application client est sensible à la casse. Des guillemets doubles sont requis si le nom de l'application contient des espaces ou des caractères spéciaux.

    Exemples
    C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Binn\sqlservr -s MSSQLSERVER -m"Microsoft SQL Server Management Studio - Query"

    C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Binn\sqlservr -s MSSQLSERVER -mSQLCMD
    Il semblerait qu'il y ait aussi des instructions SQL pour le faire (ce qui est certainement plus simple )

    tentez un
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER DATABASE MABASE SET MULTI_USER;

    pour moi ce n'est donc pas un problème Delphi ni ODBC (bien que je ne soit pas un fan d'ODBC) mais plutôt SQL Server donc pour plus de renseignements le forum ad hoc

  3. #3
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2004
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2004
    Messages : 69
    Par défaut
    Bonjour Sergio et merci pour la réponse !

    Le paramétrage dont tu parles pourrait induire un comportement comme ça ?
    Des tables sur lesquelles on peut requêter et d'autres sur lesquelles on peut pas ?

    Je vais jeter un œil au forum SQL Server

    Bonne journée

    Fred

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 739
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 739
    Billets dans le blog
    65
    Par défaut
    Citation Envoyé par Mirande Voir le message
    Le paramétrage dont tu parles pourrait induire un comportement comme ça ?
    Sur la base de données, oui. Simple à vérifier en lançant deux programmes utilisant la BDD sur le même poste le second programme n'aura pas d'accès
    Citation Envoyé par Mirande Voir le message
    Des tables sur lesquelles on peut requêter et d'autres sur lesquelles on ne peut pas ?
    ça c'est des questions de rôles mais, comme déjà écrit je ne peut faire que des comparaisons avec le SGBD que j'utilise le plus (Firebird)

  5. #5
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2004
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2004
    Messages : 69
    Par défaut
    J'ai dû mal m'exprimer dans mon premier post ...
    Les deux programmes dont je parles ne sont pas lancés en même temps !
    Il s'agit de deux programmes que l'on fait tourner sur la même machine mais ils sont testés à tour de rôle.

  6. #6
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 739
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 739
    Billets dans le blog
    65
    Par défaut
    Alors ce serait une question de ROLE et d'AUTHORIZATION ?
    https://learn.microsoft.com/fr-fr/sq...l-server-ver16

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 8
    Dernier message: 09/05/2009, 00h07
  2. SQL Server n'autorise pas les connexions à distance !
    Par insane_80 dans le forum ASP.NET
    Réponses: 6
    Dernier message: 03/10/2008, 17h40
  3. [SQL Server] alternative au SELECT MAX( COUNT(*) )
    Par xtotoro dans le forum Langage SQL
    Réponses: 11
    Dernier message: 24/05/2007, 14h57
  4. Sybase -> SQL Server : pblm de SELECT
    Par vincenteraptor dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 02/09/2006, 13h42
  5. equivalent de select nextval from dual en SQL-Server ?
    Par toze dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 15/10/2003, 10h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo