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

Administration SQL Server Discussion :

Echec requête post client (User) [2012]


Sujet :

Administration SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Consultant technique
    Inscrit en
    Août 2019
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Consultant technique

    Informations forums :
    Inscription : Août 2019
    Messages : 22
    Par défaut Echec requête post client (User)
    Bonjour à tous,

    Je sollicite votre aide car cela fait déjà un bon moment que je cherche à résoudre un problème de connexion de mon application (vb.net) avec base de donnée SQL.

    Mon application et une API d'un logiciel professionnel, elle vient ècrire et lire la base SQL du logiciel source.
    Pour se faire lors de l'installation de l'application je crée un User avec droit écriture et lecture (db_datareader et db_datawriter) sur la base de donnée.

    Quand je lance l'application directement sur le post qui héberge la base je peux lire et écrire la base.

    Quand j’exécute l'application depuis un post client je peux uniquement lire la base de donnée. J'utilise pourtant le même utilisateur SQL. C'est la même application.
    Le logiciel source est capable de lire et écrire dans cette configuration serveur client.

    Est ce que quelqu’un aurait une piste ? sachant qu'il est compliqué pour moi de tester se problème car je n'ai pas de PC avec un windows serveur.

    Merci d'avance

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 22 001
    Billets dans le blog
    6
    Par défaut
    Vous pouvez installer la version Developper de SQL Server sur n'importe quel PC....

    Je soupçonne que la base doit utiliser des objets complémentaires tels que vue, déclencheurs, procédures....

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Membre actif
    Homme Profil pro
    Consultant technique
    Inscrit en
    Août 2019
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Consultant technique

    Informations forums :
    Inscription : Août 2019
    Messages : 22
    Par défaut
    merci pour votre message je suis en trin de télécharger et d'installer SQL développer.

    Vous parlez de vue, procédures , déclencheurs mais comment je peux vérifier que cela soit un de ses truc qui bloc !!

    J'utilise la requête ci-aprés pour créer mon utilisateur. Est ce que cela vous semble logique ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    IF  EXISTS (SELECT * FROM sys.database_principals WHERE name = N'TOTO')
    DROP USER [CVF]
     
    IF  EXISTS (SELECT * FROM sys.server_principals WHERE name = N'TOTO')
    DROP LOGIN [TOTO]
     
    CREATE LOGIN [TOTO] WITH PASSWORD='TOTO', DEFAULT_DATABASE=[CxMaterials_12], DEFAULT_LANGUAGE=[us_english], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF 
     
    use [CxMaterials_12]
    create user [TOTO] from login [TOTO]
    ALTER USER [TOTO] WITH DEFAULT_SCHEMA=[dbo]
     
    EXEC sp_addrolemember N'db_datawriter', N'TOTO'
    EXEC sp_addrolemember N'db_datareader', N'TOTO'

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 22 001
    Billets dans le blog
    6
    Par défaut
    Plus rapide :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    DROP USER IF EXISTS [CVF];
     
    IF  EXISTS (SELECT * FROM sys.server_principals WHERE name = N'TOTO')
       DROP LOGIN [TOTO];
     
    CREATE LOGIN [TOTO] 
       WITH PASSWORD='TOTO', 
            DEFAULT_DATABASE=[CxMaterials_12], 
            DEFAULT_LANGUAGE=[us_english], 
            CHECK_EXPIRATION=OFF, 
            CHECK_POLICY=OFF;
     
    USE [CxMaterials_12];
     
    CREATE USER [TOTO] 
       FROM LOGIN [TOTO]
       WITH DEFAULT_SCHEMA=[dbo]; --> inutile, car par défaut....
    Personnallement je suis contre la fait de donner le même nom à un utilisateur SQL et un compte de connexion cela entraine de la confusion, et vous ne saurez plus ou vous en êtes....

    Je donnerais par exemple le nom CNX_TOTO pour le login et USR_TOTO pour l’utilisateur SQL

    Cela dit, ni votre login, ni votre user n'a de privilège.... Ils ne peuvent donc rien faire....

    Il faudrait au moins donner à votre utilisateur le privilège de lire toutes les tables de la base :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    USE [CxMaterials_12];
    GRANT SELECT ON DATABASE::[CxMaterials_12] TO USR_TOTO;
    ou :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    USE [CxMaterials_12];
    GRANT SELECT TO USR_TOTO; --> puisque vous êtes dans la base il n'y a pas d’ambiguïté
    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  5. #5
    Membre actif
    Homme Profil pro
    Consultant technique
    Inscrit en
    Août 2019
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Consultant technique

    Informations forums :
    Inscription : Août 2019
    Messages : 22
    Par défaut
    merci de ces infos

    Je me pose deux questions:
    En faite mon User Login "TOTO" fonctionne avec mon application, sauf dans le cas ou ma base est stocké sur un Serveur avec un Windows serveur.

    Quel est la différence entre faire un Grant Select insert et donné les droits db_datareade et db_datawrite au Login User

    A savoir que cette utilisateur à pour fonction d’être uniquement utilisé via une application VB.net

  6. #6
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 22 001
    Billets dans le blog
    6
    Par défaut
    GRANT permet de définir des privilèges fins. par exemple SELECT sur telle table, tel schéma, INSERT sur tel table, tel schéma, UPDATE sur telelle table, tel schéma...

    les rôles db_datareader et db_datawriter sont des collections de privilèges au niveau de la base :

    db_datareader = GRANT SELECT ON DATABASE::...

    db_datawriet = GRANT INSERT, UPDATE, DELETE ON DATABASE::...

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 15/11/2016, 17h19
  2. Apache HTTP Client : Corps d'une requéte POST
    Par albert55 dans le forum Général Java
    Réponses: 3
    Dernier message: 12/07/2013, 16h43
  3. [WD15] Echec de la mise à jour en réseau sur le poste client
    Par mpesss dans le forum WinDev
    Réponses: 5
    Dernier message: 05/03/2012, 14h37
  4. Envoi d'une requête POST à partir d'un client telnet!
    Par mumu27 dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 22/11/2009, 10h18
  5. [CR10][ASP.NET]Impression sur le poste Client
    Par David.V dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 30/04/2004, 13h41

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