Pourquoi est - ce que j'obtiens "ne peut pas se connecter au serveur-une erreur liée au réseau ou spécifique à une instance"?

je reçois l'erreur suivante en essayant de me connecter à SQL Server:

ne peut pas se connecter à 108.163.224.173.

une spécifique à l'instance erreur s'est produite lors de l'établissement d'une connexion à SQL Server.

Le serveur n'a pas été trouvé ou n'est pas accessible. Vérifier que le nom de l'instance est correct et que SQL Server est configuré pour autoriser les connexions à distance.

(fournisseur: Fournisseur de canaux Nommés, erreur: 40 - Ne pouvait pas ouvrir une connexion à SQL Server (Microsoft SQL Server), Erreur: 1326)

cette erreur se produit lorsque j'essaie de configurer ma base de données à gridview dans Visual Studio 2010. Je suis à une perte quant à la façon de déboguer cette erreur.

Comment voulez-vous corriger cette erreur? Quelles sont les étapes à suivre afin de déterminer ce qui se passe réellement ici, en plus de celui qui est mentionné dans le message d'erreur?

281
demandé sur one noa 2013-08-05 18:25:40

30 réponses

j'ai trouvé les techniques suivantes utiles:

  1. assurez-vous que votre moteur de base de données est configuré pour accepter les connexions à distance :

    • Start > tous les programmes > SQL Server 2005 > Configuration Tools > SQL Server Surface Area Configuration
    • cliquez sur Configuration de la surface pour les services et les connexions
    • Sélectionnez l'instance qui a un problème > moteur de base de données > connexions à distance
    • activer les connexions locales et à distance
    • instance de redémarrage
  2. vous pourriez avoir besoin de créer une exception sur le pare-feu pour L'instance du serveur SQL et le port que vous utilisez:

    • Démarrer > Exécuter > Pare-Feu.CPL
    • cliquez sur l'onglet exceptions
    • ajouter sqlservr.exe (typiquement situé dans C:\Program Files (x86)\Microsoft SQL Server\MSSQL.x\MSSQL\Bin , vérifiez vos installations pour le chemin du dossier réel) et le port (par défaut est 1433 )
    • vérifiez aussi votre chaîne de connexion
  3. vérifiez si vos services de serveur SQL fonctionnent correctement:

    • allez à tous les programmes > Microsoft SQL Server 2008 > Configuration Tools > SQL Server Configuration Manager > SQL Server Services
    • Vérifiez L'État du service SQL Server.

    en outre, assurez-vous que votre serveur distant est dans le même réseau . Lancez sqlcmd -L pour vérifier si votre serveur est inclus dans votre liste réseau.

  4. activer TCP / IP en Configuration Serveur SQL

    lorsque deux ou plusieurs serveurs SQL sont connectés à travers le réseau, ils effectuent toutes les communications en utilisant TCP/IP. Le port par défaut de L'installation du serveur SQL est 1433. Ce port peut être modifié via SQL Server Gestionnaire De Configuration. TCP / IP doit être activé pour que SQL Server soit connecté.

    • allez à tous les programmes > > Microsoft SQL Server 2008 > > outils de Configuration > > SQL Server Configuration Manager > > Select TCP /IP
    • clic droit sur TCP / IP > > clic sur Activer

    vous devez redémarrer les services SQL Server pour que toutes les modifications prennent effet. Cliquez avec le bouton droit de la souris et allez au menu Propriétés pour sélectionner l'emplacement où le port par défaut de SQL Server peut être modifié.

260
répondu Teo Chuen Wei Bryan 2017-06-10 19:41:20

j'ai une Solution pour moi:

Ouvrir le "Gestionnaire de Configuration SQL Server"

maintenant cliquez sur "SQL Server Network Configuration" et cliquez sur "Protocoles pour nom

clic droit sur" TCP/IP "(assurez-vous Qu'il est activé) cliquez sur Propriétés

sélectionnez maintenant L'onglet "Adresses IP" et allez à la dernière entrée "IP All"

entrer "TCP Port" 1433.

Maintenant Redémarrer "SQL Server .Nom." l'aide "des services.msc "(winKey + r)

Ça Va Marcher...

92
répondu Irshad Khan 2015-09-08 12:34:31

Je résous ce problème en ouvrant Services puis en lançant Sql Server (Sqlexpress) service.

service Image

70
répondu Anik Saha 2016-02-16 20:14:52

ajout de mon très en vogue commentaire comme réponse avec des captures d'écran.

j'ai passé beaucoup de temps sur ce, enfin ce qui a fonctionné pour moi est:

1) Ouvrir Gestionnaire de Configuration Sql Server --> configuration du Réseau SQL Server --> Protocoles pour <(EXEMPLE)> --> TCP/IP (double clic).

enter image description here

2) Sélectionnez -- > adresses IP(onglet) .

3) Allez à la dernière entrée IP All et la mention TCP Port 1433 .

enter image description here

4) Appuyez sur Win+R et inscrivez services.MSC .

5) redémarrez maintenant SQL Server <(INSTANCE)> .

enter image description here

après cela, le problème a été résolu!

65
répondu user1336087 2017-05-23 12:18:30

appuyez sur window + R (Run window Open) et dans le type de fenêtre d'exécution "services.msc" et de nouveaux services ouverts trouver SQL SERVER(SQLEXPRESS) service recommencer et essayer de nouveau il fonctionne pour moi espère que ses travaux pour vous aussi. enter image description here

12
répondu Hafiz Asad 2016-04-02 08:25:33

je pense que vous utilisez L'édition Express

essayez d'ajouter "\SQLEXPRESS" à votre nom de serveur

p.ex." MY-SERVER\SQLEXPRESS "

enter image description here

11
répondu Abdulrahman Bres 2018-01-09 08:40:57

si aucune des solutions ci-dessus ne fonctionne (rien n'a fonctionné pour moi) alors redémarrez simplement votre ordinateur et vous pourrez vous connecter à votre serveur sql (localhost).

10
répondu eugen sunic 2015-10-09 15:03:22

j'ai eu la même erreur lorsque j'ai voulu lancer mon projet WinForms (qui inclut le travail avec une base de données SQL Server et qui a fonctionné parfaitement sur mon PC) sur un autre PC. Le problème était dans le pare-feu Windows sur mon PC. J'ai résolu cela en ajoutant deux règles. C'est l'ensemble de la procédure comment autoriser SQL Server à travers le pare-feu Windows:

  1. Ouvrez "Exécuter" et saisissez services.msc
  2. trouver le service pour SQL Server (Nom de l'instance) et SQL Server Browser. Un à la fois, clic droit, sélectionnez "Propriétés", Copiez le chemin vers le fichier exe
  3. puis ouvrir firewall.cpl , cliquer autoriser une application ou ajouter une règle, ajouter le chemin précédemment copié (il y a une procédure que vous devez suivre), vérifier domaine et privé, décocher Public.

C'est le lien YouTube où vous pouvez voir cette procédure: Allow SQL Server through Windows Firewall

10
répondu PeMaCN 2016-02-27 16:17:03

cette erreur est principalement venue quand le Service SQL est arrêté.Vous devez Redémarrer le service.Pour aller à cette fenêtre, vous devez rechercher les Services comme ceci- enter image description here

puis rechercher SQLSERVER(MSSQLSERVER) et redémarrer le service.

enter image description here

J'espère que ça va marcher.

9
répondu Debendra Dash 2017-11-08 16:19:20

après avoir fait tout ce qui est mentionné ici:

http://blog.sqlauthority.com/2009/05/21/sql-server-fix-error-provider-named-pipes-provider-error-40-could-not-open-a-connection-to-sql-server-microsoft-sql-server-error / N'a toujours pas de travail pour moi.

Étapes fonctionné pour moi:

Start > Run > cmd > sqlcmd -L

il vous demandera le nom du serveur. Assurez-vous que ce nom de serveur est le même que le un que vous essayez de vous connecter dans CONNECT TO SERVER box de SQL management studio.

j'ai fait cette erreur stupide je continue à utiliser MSSQLSERVER plutôt en utilisant ce nom de serveur.

J'espère que cela aidera les gens qui font des bêtises comme moi.

Merci.

5
répondu Denn 2016-02-27 17:47:04

je rencontrais le même problème et le problème était que j'avais plusieurs projets dans la solution ( Web et Droid ) et même si Default project a été choisi dans le Package Manager Console il a utilisé la chaîne de connexion du Droid projet:

PM> update-database -Verbose
Using StartUp project 'Droid'. <-- DROID
Using NuGet project 'Web'. <-- WEB
Specify the '-Verbose' flag to view the SQL statements being applied to the target database.
<!-- BAD TARGET DATABASE -->
Target database is: 'DefaultConnection' (DataSource: .\SQLEXPRESS, Provider: System.Data.SqlClient, Origin: Convention).
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: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)
   [REMOVED TEXT]
ClientConnectionId:00000000-0000-0000-0000-000000000000
Error Number:-1,State:0,Class:20
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: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)

après avoir fixé le Startup Project à Web et le Default Project dans Package Manger Console Je l'ai fait fonctionner.

4
répondu Jefecito 2016-10-15 18:22:30

j'utilise SQL Server 2016 et Window 10.

enter image description here

la première chose à faire est de permettre la connexion à distance au serveur SQL. Ce que j'ai fait, c'est taper sqlservermanager13.msc au menu Démarrer afin d'ouvrir le gestionnaire de Configuration du serveur SQL. Assurez-vous que L'état TCP/IP est activé. enter image description here

Vérifiez votre numéro de port TCP en double-clic nom du protocole TCP/IP. Habituellement, il est 1433 par défaut.

enter image description here

les procédures suivantes permettent de configurer le pare-feu Windows en utilisant le pare-feu Windows avec le système de sécurité avancé Microsoft Management Console (MMC) snap-in. Le pare-feu Windows avec une sécurité avancée ne configure que le profil actuel.

pour ouvrir un port dans le pare-feu Windows pour L'accès TCP

  1. dans le menu Démarrer, cliquez Exécuter, tapez WF.msc, puis cliquez sur OK.
  2. dans le pare-feu Windows avec une sécurité Avancée, dans le volet de gauche, cliquez avec le bouton droit de la souris sur règles entrantes, puis cliquez sur Nouvelle règle dans le volet d'action.
  3. dans la boîte de dialogue Type de règle, sélectionnez Port, puis cliquez sur Suivant.
  4. dans le protocole et La boîte de dialogue des Ports, sélectionnez TCP. Sélectionnez les ports locaux spécifiques, puis tapez le numéro de port de l'instance Moteur de base de données, comme 1433 pour l'instance par défaut. Cliquez Sur Suivant.
  5. Dans la boîte de dialogue Action, sélectionnez Autoriser la connexion, puis cliquez sur Suivant.
  6. dans la boîte de dialogue Profil, sélectionnez les profils qui décrivent l'environnement de connexion informatique lorsque vous souhaitez vous connecter à la Moteur de base de données, puis cliquez sur Suivant.
  7. Dans la boîte de dialogue Nom, tapez un nom et une description pour cette règle, puis cliquez sur Terminer.

autre chose à configurer.

pour ouvrir L'accès au serveur SQL lors de l'utilisation des ports dynamiques

  1. dans le menu Démarrer, cliquez Exécuter, tapez WF.msc, puis cliquez sur OK.
  2. dans le pare-feu Windows avec Sécurité avancée, dans le volet de gauche, cliquez avec le bouton droit de la souris sur les règles D'arrivée, puis cliquez sur Nouvelle règle dans l'action. volet.
  3. dans la boîte de dialogue Type de règle, sélectionnez Programme, puis cliquez sur Suivant.
  4. dans la boîte de dialogue programme, sélectionnez ce chemin de programme. Cliquez Sur Parcourir, et naviguez vers L'instance de SQL Server à laquelle vous voulez accéder par le pare-feu, puis cliquez sur Ouvrir. Par défaut, SQL Server est à C:\Program fichiers\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL \ Binn\Sqlservr.EXE. Cliquez Sur Suivant.
  5. Dans la boîte de dialogue Action, sélectionnez Autoriser la connexion, puis cliquez sur Suivant.
  6. dans la boîte de dialogue Profil, sélectionnez les profils qui décrivent environnement de connexion d'ordinateur quand vous voulez vous connecter Moteur de base de données, puis cliquez sur Suivant.
  7. Dans la boîte de dialogue Nom, tapez un nom et une description pour cette règle, puis cliquez sur Terminer.

regardez Microsoft doucmentation configurer un pare-feu Windows pour L'accès au moteur de base de données

4
répondu Fred 2016-11-11 07:06:19

pourquoi cette erreur est si ennuyeuse et bruyante, juste parce qu'elle peut se produire dans des situations variées.

j'ai fait toutes les approches ci-dessus, et je suis toujours aspiré. Donc assurez-vous que vous avez fait la même chose que moi avant de naviguer vers le bas.

peut-être que je ne suis pas en mesure de corriger votre situation instantanément, 151980920 "mais je peux indiquer une direction ou une pensée à u (celui qui finalement glisser ici). J'ai commencé à réfléchir à l'erreur de mon programme en cours d'exécution après m'être assuré que le nom de l'instance est clairement correct et j'ai paramétré ma base de données pour permettre la commande à distance en suivant les méthodes ci-dessus. Après cela, j'ai suspecté quelque chose de mal se passer dans mon code snippet de connexion SQL.

Solution de mon problème:

  • Vérifier mon sqlconnection fonction

  • Cliquez pour voir sa configuration

  • Nouvelle connexion

enter image description here

  • Sélectionnez ur nom du serveur

enter image description here

ça marche pour moi de réfléchir à ce qui se passe exactement dans le processus de connexion.J'espère que ma pensée vous mènera à tuer votre erreur.

4
répondu Chase07 2017-11-14 10:57:59

alors que les solutions ci-dessus devraient fonctionner dans 90% des cas, mais si vous êtes encore en train de lire cette réponse!!! Vous essayez probablement de vous connecter à un serveur différent de celui prévu. Cela peut être dû à un fichier de configuration pointant vers un serveur SQL différent de celui sur lequel vous pensez vous connecter.

M'est arrivé au moins.

3
répondu Arjmand 2016-04-28 07:51:01

je dois courir SQL Server Browser service Gestionnaire de Configuration SQL Server . L'Installation ne peut pas découvrir le service nouvellement créé sans cela.

3
répondu MarkosyanArtur 2016-11-12 09:18:32

cette solution résout aussi bien l'erreur réseau que le service derrière sql server

j'ai répondu à une question similaire ici, vous devez indiquer l'autre open Run type-> services.msc - sous services -> sort by stopped vous verrez un tas de services SQL arrêtés Right click and start

Pour commencer - il y a 4 questions qui pourraient être à l'origine du commun LocalDb SqlExpress de connectivité Sql Server erreurs SQL Network Interfaces, error: 50 - Local Database Runtime error occurred , avant de commencer vous besoin de renommer le v11 ou v12 à (localdb)\mssqllocaldb

j'ai trouvé que le plus simple est de faire le ci - dessous-j'ai joint les pics et les étapes pour l'aide.

Vérifiez D'abord l'instance que vous avez installée, vous pouvez le faire par vérifier le registre et en exécutant cmd

  1. cmd> Sqllocaldb.exe i
  2. cmd> Sqllocaldb.exe s "whicheverVersionYouWantFromListBefore" si cette étape échoue, vous pouvez supprimer avec l'option d cmd> Sqllocaldb.exe d "someDb "
  3. cmd> Sqllocaldb.exe c "createSomeNewDbIfyouWantDb"
  4. cmd> Sqllocaldb.exe start "createSomeNewDbIfyouWantDb"

SqlLOCALDb_edited.png

3
répondu transformer 2017-05-23 12:18:30

Vous pouvez tester les méthodes suivantes.

  • un

    1. Vérifiez la chaîne de connexion du projet.
  • b

    1. allez à services et redémarrez L'Instance SQLServer.
  • c

    1. ouvert 'SQLServer Configuration Manager '
    2. dans le panneau de gauche, sélectionnez "SQLServer Network Configuration" et l'étendre
    3. sélectionner "protocoles pour MSSQLServer"
    4. dans le panneau de droite DBL cliquez sur 'TCP / IP'
    5. Dans l'onglet 'Protocole' set 'Activé' à 'Oui'
    6. dans l'onglet" Adresses IP "faites défiler vers le bas
    7. dans le jeu "IPAll" port TCP "à 1433
  • d
    1. Ouvrir "Pare-feu avec fonctions avancées de sécurité"
    2. dans l'onglet droit, sélectionnez "règles entrantes "

dans l'onglet du milieu trouver l'enregistrement que 'Port local' est 1433, si vous ne pouvez pas le trouver essayer de le créer avec les niveaux suivants

  • dans le menu Démarrer, cliquez Exécuter, tapez " WF.msc', puis cliquez sur OK
  • dans le panneau de gauche cliquez sur le 'pare-feu Windows avec une sécurité avancée '
  • dans le panneau de droite droit-cliquez 'règles entrantes', puis cliquez 'nouvelle règle'
  • dans la boîte de dialogue Type de règle, sélectionnez "Port", puis cliquez sur Suivant
  • dans la boîte de dialogue protocole et Ports, sélectionnez "TCP", puis "Ports locaux spécifiques", puis tapez le numéro de port 1433, cliquez sur Suivant
  • dans la boîte de dialogue Action, sélectionnez Autoriser la connexion, puis cliquez sur Suivant
  • dans la boîte de dialogue "Profil", en cochant le domaine, privé et Public, puis cliquez sur Suivant
  • dans la boîte de dialogue' Nom', tapez' Port SQL 1433 ' et pour une description, écrivez description pour own. Puis cliquez sur Terminer
  1. puis dans l'onglet du milieu, double-cliquez sur l'élément trouvé(Instance) ou créé par vous sous le nom de 'Port SQL 1433'.
  2. sélectionnez l'onglet 'Scope' dans la boîte de dialogue ouverte (Propriétés du serveur SQL)
  3. dans le PC local aller à google.com dans votre navigateur et rechercher 'Mon IP'.
  4. puis copie de votre "IP"
  5. allez sur le serveur distant et dans la boîte de dialogue "Propriétés du serveur SQL" de L'onglet "portée", dans l'onglet "Adresse IP distante" sélectionnez L'option "ces adresses IP" et cliquez sur le bouton "Ajouter
  6. dans la boîte de dialogue ouverte(adresse IP) sélectionnez 'Cette Adresse IP de sous-réseau ou sur l'option "coller votre " propriété intellectuelle", cliquez sur le bouton OK.
3
répondu MohammadSoori 2017-03-30 07:15:02

résumé

pour corriger ce problème rencontré alors que exécution application locale vs base de données distante , utilisez SQL Server Configuration Manager pour ajouter un alias pour la base de données distante.

détails

j'avais couru dans ce problème récemment lors de la transition D'un Windows 7 à un Windows 10 ordinateur portable. Je dirigeais un développement local et environnement runtime accéder à notre base de données Dev sur un serveur distant. Nous accédons à la base de données Dev par le biais d'une configuration d'alias de serveur par le biais de SQL Server Client Network Utility (cliconfg.EXE.) Après avoir confirmé que l'alias était correctement configuré dans les versions 64 et 32 bits de l'utilitaire et que le serveur de base de données était accessible depuis le nouvel ordinateur portable via SSMS, j'ai quand même eu l'erreur vue par L'OP (pas l'adresse IP de L'OP, bien sûr).

il était nécessaire D'utiliser SQL Server Configuration Manager pour ajouter un alias pour le serveur de base de données distant Dev. Fixe les choses.

enter image description here

3
répondu Bill Needels 2018-06-26 14:27:41

j'ai déménagé d'un ordinateur portable de travail sur Windows 7 à un ordinateur portable de travail sur Windows 10. J'avais utilisé avec succès SSMS2016 sur Windows 7.

la même question s'appliquait à L'aide de SSMS2012 ou SSMS2016. Mon accès aux 10 serveurs sql utilisant l'authentification windows était toujours le même. Je pourrais tester ça sur un autre serveur. Cependant, 2 des 10 serveurs ne se connecteraient pas à partir de mon ordinateur portable . Les deux étaient ms sql server 9 mais je pouvais me connecter à d'autres sql server 9 les bases de données.

la solution était de ajouter une règle de pare-feu (en utilisant le pare-feu Windows avec une sécurité avancée).

créer une règle entrante pour chaque SSMS eg C:\Program fichiers (x86)\Microsoft SQL Server\130\Tools\Binn\ManagementStudio\Ssms.exe

Je ne suis pas un expert en réseau donc je n'ai pas inclus les détails, mais j'espère que cela vous indiquera la bonne direction.


Erreur msg (pré-règle de pare-feu) "Une erreur liée au réseau ou spécifique à une instance s'est produite lors de l'établissement d'une connexion au serveur SQL. Le serveur n'a pas été trouvé ou n'est pas accessible. Vérifiez que le nom de l'instance est correct et que SQL Server est configuré pour permettre les connexions à distance. (fournisseur de: Interfaces Réseau SQL, erreur: erreur de 26 recherche Serveur/Instance Spécifié) (.Net Fournisseur De Données SqlClient)"

2
répondu johnc 2017-01-31 21:27:26

en plus de tout essayer comme suggéré par Teo Chuen Wei Bryan, assurez-vous que vous vous référez aussi au bon nom de serveur/Instance dans la chaîne de connexion.

si vous utilisez la forme abrégée de nom d'hôte/Instance sur le serveur de base de données ou sur le web.fichier de configuration, assurez-vous d'utiliser le nom de domaine pleinement qualifié(FQDN)/Instance

aussi, pour tester la connectivité à partir d'un serveur où SQL server client n'est pas présent,

-- > créer un fichier texte et changer son extension de fichier en .udl

--> clic Droit sur le fichier et vous pouvez voir l'onglet connexion.

-- > entrer le nom du serveur et les informations de connexion pour tester la connexion au serveur de base de données.

Espérons que cette aide.

2
répondu SanthoshM 2017-03-15 21:35:20

si vous rencontrez soudainement cette erreur dire dans un environnement de production et rien n'a changé, essayez les 4 articles suivants dans l'ordre ci-dessous pour voir si elle est corrigée.

  1. redémarrez le service sql server.
  2. redémarrez le service (disons IIS) qui appelle dans sql server. (le problème est probablement ici si le temps entre le début de l'appel de service pour SQL server et le moment où vous obtenez l'erreur est super court (au sujet de un ou deux seconde).
  3. redémarrez le serveur sql server est activé.
  4. redémarrez le serveur sur lequel le service appelant est.
2
répondu Barka 2017-04-24 03:33:18

Lorsque j'ai découvert cette erreur dans Visual Studio,

" une erreur liée au réseau ou à l'instance s'est produite lors de l'établissement d'une connexion au serveur SQL. Le serveur n'a pas été trouvé ou n'est pas accessible. Vérifiez que le nom de l'instance est correct et que SQL Server est configuré pour permettre les connexions à distance. (fournisseur: Fournisseur de canaux Nommés, erreur: 40 - impossible d'ouvrir une connexion à SQL Server)"

... it était lors de l'exécution du code C# suivant, qui tentait d'obtenir les données de mon serveur SQL pour les afficher dans une grille. La rupture s'est produite exactement sur la ligne qui dit connexion.Ouvert ():

        using (var connect = Connections.mySqlConnection)
        {
            const string query = "SELECT Name, Birthdate, Narrative FROM Friends";
            using (var command = new SqlCommand(query, connect))
            {
                connect.Open();
                using (var dr = command.ExecuteReader())
                {
                    while (dr.Read())
                    {
                        // blah
                    }
                }
            }
        }

c'était inexplicable parce que la requête SQL était très simple, j'avais la bonne chaîne de connexion, et le serveur de base de données était disponible. J'ai décidé d'exécuter la requête SQL actuelle manuellement moi-même dans SQL Management Studio et elle s'est très bien déroulée et a donné plusieurs enregistrements. Mais une chose est ressortie des résultats de la requête: il y avait du texte HTML incorrectement encodé dans un champ de type varchar(max) dans la table Friends (plus précisément, des symboles de commentaire encodés du genre <!-- logés dans les données de la colonne "Narrative"). La rangée de données suspectes ressemblait à ceci:

Name    Birthdate    Narrative
====    =========    ============== 
Fred    21-Oct-79    &lt;!--HTML Comment -->Once upon a time...

Notez le symbole HTML codé " &lt; ", qui signifie un caractère"<". D'une façon ou d'une autre, cela a fait son chemin dans la base de données et mon code C ne pouvait pas le choisir. jusqu'! Ça a échoué à chaque fois au connect.Open() à la ligne! Après avoir édité manuellement cette ligne de données dans la table de base de données amis et mis dans le caractère décodé "<" à la place, tout a fonctionné! Voici à quoi cette rangée aurait dû ressembler:

Name    Birthdate    Narrative
====    =========    ============== 
Fred    21-Oct-79    <!--HTML Comment -->Once upon a time...

j'ai édité la seule mauvaise rangée que j'avais en utilisant cette simple déclaration de mise à jour ci-dessous. Mais si vous aviez plusieurs lignes offensantes de HTML encodé, vous pourriez avoir besoin d'une déclaration de mise à jour plus élaborée qui utilise la fonction Remplacer:

UPDATE Friends SET Narrative = '<!--HTML Comment -->Once upon a time...' WHERE Narrative LIKE '&lt%'

ainsi, la morale de l'histoire est (au moins dans mon cas), assainir votre contenu HTML avant de le stocker dans la base de données et vous ne recevrez pas cette erreur de serveur SQL cryptique en premier lieu! (Euh, bien nettoyer/décoder votre contenu HTML est le sujet d'une autre discussion digne d'une recherche de flux StackOverflow séparée si vous avez besoin de plus d'informations!)

2
répondu ShieldOfSalvation 2017-05-22 20:50:43

MS sql server 2014 in windows 7

1) Aller au programme de recherche et tapez (Sql server 2014 configuration manager)

2) puis cliquez sur" Sql server Service "dans le menu de gauche de l'arbre

3) Vérifiez votre instance de l'état de service du serveur sql (arrêt ou exécution)

4) si c'est stop s'il vous plaît changer l'état d'exécution et de se connecter dans votre sql server management studio 2014

2
répondu Chamara 2017-07-16 07:36:52

j'ai essayé toutes les autres réponses sur cette question et certains, si pas tous probablement joué un rôle dans Obtenir ce travail pour moi, mais je ne pouvais toujours pas se connecter à la base de données à distance. J'utilisais un serveur SQL sur une VM Azure.

je me suis finalement souvenu que la VM a des endpoints qui sont contrôlés par le compte proxy Azure, donc je suis allé sur le portail Azure et j'ai ajouté 1433 comme endpoint disponible et je pouvais me connecter à mon instance SQL.

Hope cela aide quelqu'un qui a essayé toutes les autres réponses et encore avoir pas de chance!

2
répondu John 2018-06-25 11:03:36

cette erreur se produit lorsque l'instance de votre serveur sql est stopped .

allez à tous les programmes>SQL Server >Configuration tools>SQL SERVER CONFIGURATION MANAGER""

puis cliquez sur Services SQL sERVER, la liste des instances apparaîtra, sélectionnez instance en question et cliquez sur l'icône play dans la barre d'outils supérieure, en espérant que cela vous aidera.

cette réponse est très en retard(mais mieux vaut tard que jamais;)

1
répondu Alex 2016-04-16 12:58:23

j'ai résolu ce problème en définissant le projet qui utilise le cadre D'Entity comme projet de démarrage, puis j'ai lancé la commande" update-database".

1
répondu user1796440 2016-10-22 20:34:29

si vous rencontrez cela pendant le débogage dans Visual Studio, assurez-vous que le chemin de construction du projet pointe vers un lecteur local, ou suivez ces étapes pour accorder des permissions au dossier réseau.

1
répondu Kevin D. 2016-11-16 00:20:24

il semble que votre instance de localdb ne fonctionne pas. Pour le démarrer au démarrage de l'ordinateur, ajoutez dans votre menu Démarrer \ dossier de démarrage BAT fichier avec la ligne suivante

sqllocaldb start name_of_instance

name_of_instance est le nom de l'instance de localdb, que vous voulez démarrer. Vous pouvez lister les instances disponibles en ligne de commande en utilisant sqllocaldb i .

par exemple, si vous utilisez SQL Server Management Studio et vous connecter au nom de serveur (localdb)\v11.0 , alors votre BAT fichier ressemblera à

sqllocaldb start v11.0
1
répondu Ondrej 2017-02-09 10:26:04

mon problème a commencé quand j'ai essayé de changer le serveur de IIS Express à Local IIS (en utilisant LocalDB ).

enter image description here

j'utilisais LocalDB( pour les besoins de dev), et quand je suis passé de IIS Local à IIS Express, Visual Studio avait changé ma source de données de données Source=(LocalDb)\MSSQLLocalDB à source de données=.\SQLEXPRESS

chaîne de connexion incorrecte

<add name="DefaultConnection" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\SurveyTestsDB.mdf;Initial Catalog=SurveyTestsDB;Integrated Security=True;User Instance=True" providerName="System.Data.SqlClient" />

chaîne de connexion correcte

<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\SurveyTestsDB.mdf;Initial Catalog=SurveyTestsDB;Integrated Security=True" providerName="System.Data.SqlClient" />

J'espère que ça aidera quelqu'un là-bas.

1
répondu megamaiku 2017-02-20 22:29:39

mon problème était que vous devez avoir une entrée de chaîne de connexion dans à la fois votre couche de dépôt et la couche web. Une fois que je l'ai ajouté à ma toile.config ainsi que mon app.config, Entity Framework a été capable de créer la migration.

ma question est pourquoi, fait le web.config en a besoin, quand il n'y a absolument aucun accès à la base de données.

1
répondu Thing 2017-02-28 20:58:24