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

Accès aux données Discussion :

Connection projet ASP.net et docker sql server


Sujet :

Accès aux données

  1. #1
    Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2021
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2021
    Messages : 6
    Points : 2
    Points
    2
    Par défaut Connection projet ASP.net et docker sql server
    Bonjour,



    je suis en train de développer un projet en ASP.Net qui doit se connecter à une base de donnée SQL server qui tourne sous Docker.

    Cependant, je n'arrive pas à connecter mon projet ASP à ma base de données. J'ai essayé de me connecter à ma base de données avec SQl server management Studio et j'y arrive sans problème.



    Voici les éléments de code que j'ai :

    Le docker compose pour le docker de sql server :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    version: '3.2'
     
    services:
        mssql:
          image: mcr.microsoft.com/mssql/server:2017-latest
          ports:
            - "1433:1433"
          environment:
            - SA_PASSWORD=myPass123
            - ACCEPT_EULA=Y
    Voici la connection string de asp.Net :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "connection": "server=localhost,1443;database=madatabase;User Id=sa;Password=myPass123;MultipleActiveResultSets=true"


    Voici l'erreur que j'obtiens :

    Microsoft.Data.SqlClient.SqlException : 'A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: TCP Provider, error: 0 - Aucune connexion n’a pu être établie car l’ordinateur cible l’a expressément refusée.)'


    Auriez vous des solutions à me proposer ?



    Cordialement

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur / architecte
    Inscrit en
    Juillet 2009
    Messages
    473
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur / architecte

    Informations forums :
    Inscription : Juillet 2009
    Messages : 473
    Points : 674
    Points
    674
    Par défaut
    Ton programme tourne également dans docker ou sur ta machine physique?

    Dans le cas contraire, il nous faudrait voir un peu de code, en tout cas tout ce qui concerne la connexion à la BDD (ouverture de session...) Tu utilises un SqlConnectionStringBuilder ? Quelle techno d'accès à la BDD (EF, autres?)?

  3. #3
    Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2021
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2021
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Actuellement mon programme tourne en local, mais par la suite je compte le faire tourner dans un docker aussi.

    j'utilise ASP.NET Core avec entity framework. Du coup, je ne m'occupe pas du tout de la connexion BDD, c'est entity framework qui gère.
    La seule partie de connexion que je gère c'est la connectionString.

  4. #4
    Membre éclairé
    Homme Profil pro
    Développeur / architecte
    Inscrit en
    Juillet 2009
    Messages
    473
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur / architecte

    Informations forums :
    Inscription : Juillet 2009
    Messages : 473
    Points : 674
    Points
    674
    Par défaut
    Tu peux ajouter un peu de code comme ça pour essayer d'afficher ce qui est vraiment pris en compte comme connectionString...

  5. #5
    Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2021
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2021
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    Finalement, je viens de résoudre le problème. Cela provenait d'un problème de port.

    Maintenant j'ai un autre problème.



    J'ai mon projet asp net core qui tourne dans docker et qui arrive a se connecter à la base de donnée sql server qui tourne dans un autre contener docker.

    Et j'ai aussi une base de données qui tourne en local sur ma machine dans (localdb).



    Le but du projet c'est en gros de transférer en C# les données de ma base de données localdb vers la base qui tourne dans docker.

    Le problème est que je n'arrive pas à me connecter à localdb à partir du code asp qui tourne dans docker.



    Voici la connection string que j'utilise actuellement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "OldDBConnection": "server=(localdb)\\MSSQLLocalDB;database=maBDD;Trusted_Connection=True"


    Et voici l'erreur associée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LocalDB is not supported on this platform.'

    J'ai aussi essayé avec cette connection string :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "OldDBConnection": "server=PORT01265\\SQLEXPRESS;database=maBDD;Trusted_Connection=True"

    Et j'obtiens également une erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cannot connect to SQL Server Browser. Ensure SQL Server Browser has been started.'


    Auriez vous une solution ?

    Merci par avance pour votre réponse.

  6. #6
    Expert confirmé

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 065
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 065
    Points : 4 229
    Points
    4 229
    Par défaut
    Il faudra probablement donné l'adresse IP de ta machine

  7. #7
    Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2021
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2021
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Voici les informations de connexion qui fonctionnent quand j'utilise sql server management studio :
    Nom : Capture.PNG
Affichages : 222
Taille : 19,0 Ko

    Nom : Capture2.PNG
Affichages : 206
Taille : 18,7 Ko


    J'ai essayé du coup avec cette connection string :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "OldDBConnection": "server=192.168.242.127\\SQLEXPRESS;database=maBDD;Integrated Security=SSPI"

    Mais j'obtiens cette erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Microsoft.Data.SqlClient.SqlException*: 'Cannot authenticate using Kerberos. Ensure Kerberos has been initialized on the client with 'kinit' and a Service Principal Name has been registered for the SQL Server to allow Kerberos authentication.
    ErrorCode=InternalError, Exception=Interop+NetSecurityNative+GssApiException: GSSAPI operation failed with error - Unspecified GSS failure.  Minor code may provide more information (SPNEGO cannot find mechanisms to negotiate).
       at System.Net.Security.NegotiateStreamPal.GssInitSecurityContext(SafeGssContextHandle& context, SafeGssCredHandle credential, Boolean isNtlm, SafeGssNameHandle targetName, GssFlags inFlags, Byte[] buffer, Byte[]& outputBuffer, UInt32& outFlags, Int32& isNtlmUsed)
       at System.Net.Security.NegotiateStreamPal.EstablishSecurityContext(SafeFreeNegoCredentials credential, SafeDeleteContext& context, String targetName, ContextFlagsPal inFlags, SecurityBuffer inputBuffer, SecurityBuffer outputBuffer, ContextFlagsPal& outFlags)
       at Microsoft.Data.SqlClient.SNI.SNIProxy.GenSspiClientContext(SspiClientContextStatus sspiClientContextStatus, Byte[] receivedBuff, Byte[]& sendBuff, Byte[] serverName)
       at Microsoft.Data.SqlClient.SNI.TdsParserStateObjectManaged.GenerateSspiClientContext(Byte[] receivedBuff, UInt32 receivedLength, Byte[]& sendBuff, UInt32& sendLength, Byte[] _sniSpnBuffer)
       at Microsoft.Data.SqlClient.TdsParser.SNISSPIData(Byte[] receivedBuff, UInt32 receivedLength, Byte[]& sendBuff, UInt32& sendLength)'
    Auriez vous une solution ?

Discussions similaires

  1. ASP : VB.NET 2012 - DataGridView - Sql Server
    Par forsay1 dans le forum ASP.NET
    Réponses: 0
    Dernier message: 04/07/2014, 10h09
  2. asp.net IIS et SQL Server
    Par zlorg dans le forum Développement Web avec .NET
    Réponses: 6
    Dernier message: 08/12/2010, 11h32
  3. Projet ASP.Net - Authentification SQL Server
    Par 3KyNoX dans le forum ASP.NET
    Réponses: 4
    Dernier message: 20/10/2008, 15h48
  4. Réponses: 2
    Dernier message: 25/06/2007, 07h18
  5. Réponses: 10
    Dernier message: 04/04/2006, 01h21

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