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

ASP.NET Discussion :

Connection impossible SQL Server ASP.NET C#


Sujet :

ASP.NET

  1. #1
    Membre à l'essai
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Mars 2011
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Mars 2011
    Messages : 60
    Points : 21
    Points
    21
    Par défaut Connection impossible SQL Server ASP.NET C#
    Bonjour,

    Je suis en train de développer une application web perméttant l'administration de bases de données.
    Je souhaite me connecter au server de base de données afin de lister les bases de données présentes.

    Le problème qui se présente est le suivant: la connexion semble impossible et je me fais jeter sur le dbConnection.Open().

    Mon code:

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    protected void Page_Load(object sender, EventArgs e)
            {
                HttpSessionState MySession = HttpContext.Current.Session.Contents;
     
                if (MySession["in_out"] == null)
                    MySession.Add("in_out", false);
                MySession.Add("username", Account.Login.username);
     
                app_access = (bool)MySession["in_out"];
                if (app_access == false)
                    Response.Redirect("/Account/Login.aspx");
     
                server = "[server_name]/[instance_name]";
                login = "[login]"; pass = "[pass]";
                server_parser(server, login, pass);
            }
     
            protected void server_parser(string db_server, string db_login, string db_password)
            {
                try
                {
                    connectStr = "server = " + db_server + "; user id = " + db_login + " ;password = " + db_password;
                    dbConnection.ConnectionString = connectStr;
                    dbConnection.Open();
                }
                catch (Exception exc)
                {
                    content_title = "Error occured";
                    bug_info = exc.ToString();
                }
            }
    Le message d'erreur:

    System.Data.SqlClient.SqlException (0x80131904): 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: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server) at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning() at System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo, SqlInternalConnectionTds connHandler, Boolean ignoreSniOpenTimeout, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity) at System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, TimeoutTimer timeout, SqlConnection owningObject) at System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo serverInfo, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, TimeoutTimer timeout) at System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, TimeoutTimer timeout, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance) at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance) at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection) at System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options) at System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject) at System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject) at System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) at System.Data.SqlClient.SqlConnection.Open() at Database_Web_Administrator._Default.server_parser(String db_server, String db_login, String db_password) in C:\Users\m.pilard\Documents\Visual Studio 2010\Projects\Database Web Administrator\Database Web Administrator\Default.aspx.cs:line 44
    Mon projet est en standby complet et je m'arrache les cheveux sur ce problème. Toute idée est la bienvenue...

    Merci d'avance.
    Max

  2. #2
    Membre éclairé Avatar de Ramajb
    Homme Profil pro
    ----------------------------
    Inscrit en
    Septembre 2007
    Messages
    476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ----------------------------

    Informations forums :
    Inscription : Septembre 2007
    Messages : 476
    Points : 755
    Points
    755
    Par défaut
    Déjà, ayez toujours l'habitude de ne jamais faire une concaténation en additionnant chaque chaîne de caractère. A la place, utiliser Sinon tu as l'erreur car l'attribut Initial Catalog ou database qui indique le nom de la base sur lequel tu voulais travailler n’était pas mentionné dans ton connexion string.
    a+

  3. #3
    Expert confirmé
    Avatar de Nicolas Esprit
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Février 2010
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 1 467
    Points : 4 066
    Points
    4 066
    Par défaut
    Citation Envoyé par Ramajb Voir le message
    Sinon tu as l'erreur car l'attribut Initial Catalog ou database qui indique le nom de la base sur lequel tu voulais travailler n’était pas mentionné dans ton connexion string.
    a+
    Je ne me rappelle plus si ce paramètre est obligatoire ou pas. Si c'est le cas, et vu que le but est de lister les bases présentes sur le serveur, tu peux utiliser la base master.

    En espérant t'avoir aidé.

  4. #4
    Membre à l'essai
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Mars 2011
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Mars 2011
    Messages : 60
    Points : 21
    Points
    21
    Par défaut
    Bonjour,

    En cette matinée ensoleillée, j'ai suivi vos suggestion, ce qui m'amène à l'obtention de ce code:

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    protected void Page_Load(object sender, EventArgs e)
            {
                HttpSessionState MySession = HttpContext.Current.Session.Contents;
     
                if (MySession["in_out"] == null)
                    MySession.Add("in_out", false);
                MySession.Add("username", Account.Login.username);
     
                app_access = (bool)MySession["in_out"];
                if (app_access == false)
                    Response.Redirect("/Account/Login.aspx");
     
                server = "[servername]";
                db = "master";  login = "sa"; pass = "aze$789";
                server_parser(server, db, login, pass);
            }
     
            protected void server_parser(string db_server, string db_system, string db_login, string db_password)
            {
                try
                {
                    connectStr = string.Concat("data source = ", db_server, "; initial catalog = ",db_system ,"; user id = ", db_login, "; password = ", db_password);
                    dbConnection.ConnectionString = connectStr;
                    dbConnection.Open();
                }
                catch (Exception exc)
                {
                    content_title = "Error occured";
                    bug_info = exc.ToString();
                }
            }
    Malheureusement, toujours la même erreur...

  5. #5
    Membre confirmé
    Avatar de topolino
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    1 901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 901
    Points : 637
    Points
    637
    Par défaut
    Au moins on a vraiment tous ton code, meme le mot de passe. Un conseil en passant change le login sa par un autre.

    Sinon as tu verifié en telnet que ton serveur web peut communiquer avec ton serveur BDD ? LEs pots sont il bien ouverts......
    MCTS Microsoft.
    La conception : Prendre le temps pour gagner du temps.

  6. #6
    Membre à l'essai
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Mars 2011
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Mars 2011
    Messages : 60
    Points : 21
    Points
    21
    Par défaut
    Citation Envoyé par topolino Voir le message

    Sinon as tu verifié en telnet que ton serveur web peut communiquer avec ton serveur BDD ? LEs pots sont il bien ouverts......
    Je pense, j'arive à me connecter à la base en utilisant SQL Server Management Studio... En plus, pour mon login à l'appli, j'arrive à me conecter et récupérer des données d'une base sur le même serveur...

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 12
    Points : 7
    Points
    7
    Par défaut
    Salut mpilard,

    As tu vérifié le mode d'authentification dans les propriétés du serveur SQL ?
    Car tu es peut être en Windows authentification seulement alors qu'il te faudrait être en SQL + Windows il me semble.

    A+
    Knarfoo
    Images attachées Images attachées  

  8. #8
    Membre à l'essai
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Mars 2011
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Mars 2011
    Messages : 60
    Points : 21
    Points
    21
    Par défaut
    Citation Envoyé par Knarfoo Voir le message
    Salut mpilard,

    As tu vérifié le mode d'authentification dans les propriétés du serveur SQL ?
    Car tu es peut être en Windows authentification seulement alors qu'il te faudrait être en SQL + Windows il me semble.

    A+
    Knarfoo
    Je la trouve où s'il te plait cette page de configuration?
    J'ai beau chercher, je ne la trouve pas...

    Toutefois, il me semble que pendant l'installation du serveur, j'ai bien spécifié "SQL Auhentification" et non "Windows Authentification"...

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 12
    Points : 7
    Points
    7
    Par défaut
    Normalement via Microsoft SQL Serveur Management Studio.
    Quand tu te connectes à ton serveur SQL grâce à l'outil que je viens de citer, dans "l'object explorer" tu trouves le nom de ton serveur SQL.
    fait un clic droit dessus puis vas dans "Propriétés" et là si tu regarde le screen de mon post précédent tu as l'onglet correspondant.

  10. #10
    Membre à l'essai
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Mars 2011
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Mars 2011
    Messages : 60
    Points : 21
    Points
    21
    Par défaut
    Il semblerait que le problème ne vienne pas de là...
    Ma config en pièce jointe.
    Images attachées Images attachées  

  11. #11
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 12
    Points : 7
    Points
    7
    Par défaut
    Tu peux peut être regarder les logs de la BDD afin de vérifier si t'a tentative de connexion arrive bien jusqu'au serveur SQL.
    Là si c'est le cas et qu'elle est refusée, tu devrait avoir un message d'erreur avec un code erreur.
    Tu fait un copier / coller dans Google et tu pourra mieux cerner le problème.
    Et peut être même trouver une solution !
    Les logs tu les trouvera dans Management / SQL Server log toujours par l'outil Microsoft.

  12. #12
    Membre à l'essai
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Mars 2011
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Mars 2011
    Messages : 60
    Points : 21
    Points
    21
    Par défaut
    Il n'y a rien dans les log, ce qui tend à penser que je n'accède pas au serveur et que le problème ce situe donc dans mon code...

  13. #13
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 12
    Points : 7
    Points
    7
    Par défaut
    As tu essayé d'afficher le contenu de ton connection string ?
    Pour vérifier qu'après ton traitement il est bien formaté ?
    Ensuite je ne m'y connais pas beaucoup en C# mais pour les variables de session j'utilise la syntaxe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Session["nomDeVariableSession"] = valeurAffectee;
    Bon courage
    A+

  14. #14
    Membre à l'essai
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Mars 2011
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Mars 2011
    Messages : 60
    Points : 21
    Points
    21
    Par défaut
    Ma connection string après une sortie écran.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    data source = AG--EV/N--SERVER; initial catalog = master; user id = sa; password = aze$789
    AG--EV/N--SERVER est de la forme SERVER/INSTANCE et colle parfaitement à la chaine utilisée lorsque je me connecte avec SQL Server Management Studio...

  15. #15
    Membre à l'essai
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Mars 2011
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Mars 2011
    Messages : 60
    Points : 21
    Points
    21
    Par défaut
    Problème résolu, j'ai modifié le "/" par "\\" dans la chaine de connexio, ça passe...
    Merci à tous.

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

Discussions similaires

  1. connection impossible SQL Server
    Par bassoum dans le forum JDBC
    Réponses: 2
    Dernier message: 26/05/2016, 22h30
  2. Problème connexion SQL server/ asp.net
    Par samir1985 dans le forum ASP.NET
    Réponses: 9
    Dernier message: 15/06/2009, 15h05
  3. [SQL Server][ASP.net] clefs étrangères qui ne se propagent pas
    Par skystef dans le forum Accès aux données
    Réponses: 3
    Dernier message: 21/12/2006, 11h56

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