J'ai couru dans un accroc. J'ai besoin de spécifier le numéro de port de mon installation locale de SQL Server 2008 R2. Jusqu'à présent, j'ai essayé d'utiliser le SQLConnectionsRingBuilder avec le jeu de sources de données comme La chaîne de connexion ressemble à: p>
Cependant, je reçois une erreur qui ressemble à: p>
Une erreur liée au réseau ou à une erreur d'instance s'est produite lors de l'établissement d'une connexion SQL Server. Le serveur est introuvable ou inaccessible. Vérifiez que le nom d'instance est correct et que SQL Server est configuré pour autoriser les connexions à distance. (Fournisseur: fournisseur TCP, erreur: 0 - Aucune connexion n'a pu être faite car la machine cible a activement refusé. P>
blockQuote>
Lors de la vérification de la chaîne de connexion en utilisant Est-ce parce que le SQLConnectionsRingBuilder remplace mon port avec son propre port? Dois-je pour une raison quelconque, ouvrez-vous des ports sur mon pare-feu? Connaissant que c'est une installation entièrement locale, il ne faut pas rencontrer de problèmes de pare-feu. Je préférerais ne pas avoir à construire manuellement la chaîne de connexion. Pas que c'est difficile, cela ajoute simplement une couche de complexité à mon code, je préfère ne pas avoir si nécessaire. P>
Toute aide serait appréciée. Merci! P>
Après une longue creusee à travers la syntaxe SQLConnectionstringBuilder, il apparaît qu'il gère des paramètres non valides en passant à la chaîne de connexion entourée de guillemets. J'imagine que c'est parce qu'il enfreint les connexions. Ma question reste toujours: . \ TestServer, 1433 code>, lequel de toutes les documents doit me connecter au serveur testServer sur le port 1433 (la valeur par défaut). p>
{source de données = ". \ testserver, 1433"; catalogue initial = aventureworks; ID utilisateur = testeur; mot de passe = MyPasswordeur ere} code> p> p> P> P>
sqlconnectionstringbuilder.tostring () code> Il sort presque comment MSDN suggère. Pour une raison quelconque, il enveloppe des citations doubles uniquement autour de la source de données et rien d'autre. Cependant, cela peut simplement être le débogueur enlever les citations extérieures car elle est stockée dans une chaîne code> DataType. J'ai également vérifié que SQL Server est accessible sans spécifier le port et c'est. Enfin, j'ai vérifié que le serveur est autorisé à accepter des connexions à distance. Considérant que cette instance de SQL Server est installée localement, à l'aide du port par défaut et sur mon ordinateur de développement, je n'ai pas pu imaginer pourquoi je recevrais une erreur comme celle-ci. P>
4 Réponses :
Jetez un coup d'œil à la http://www.connectionstrings.com/sql-server- 2008
La chaîne de connexion SQL Server 2008 ne contient pas de citations supplémentaires autour du nom Indance Server. Votre chaîne de connexion doit être p>
Encore une fois, j'utilise le SqlServerconnectionstringBuilder. Je ne construis pas personnellement cela. Je suis en train de renseigner sur la raison pour laquelle cela se passe lorsque j'utilise la solution de Microsoft pour un bâtiment de chaîne de connexion fiable.
Retirez l'espace avant le numéro de port dans votre chaîne de source de données: p> et laissez-le ressembler à ce p> // The first try by using TCP port 1433
WindowsFormsApplication.vshost.exe 5480 TCP Reconnect MyMachine:53202 -> SqlServerInstance:1433 SUCCESS
WindowsFormsApplication.vshost.exe 5480 TCP Reconnect MyMachine:53202 -> SqlServerInstance:1433 SUCCESS
// The second try by using UDP port 1434
WindowsFormsApplication.vshost.exe 7664 UDP Send MyMachine:50245 -> SqlServerInstance:1434 SUCCESS
WindowsFormsApplication.vshost.exe 7664 UDP Receive MyMachine:50245 -> SqlServerInstance:1434 SUCCESS
// Taking informations out of UDP connection to connect to dynamic assigned port
WindowsFormsApplication.vshost.exe 7664 TCP Connect MyMachine:53209 -> SqlServerInstance:58904 SUCCESS
WindowsFormsApplication.vshost.exe 7664 TCP Send MyMachine:53209 -> SqlServerInstance:58904 SUCCESS
WindowsFormsApplication.vshost.exe 7664 TCP Receive MyMachine:53209 -> SqlServerInstance:58904 SUCCESS
WindowsFormsApplication.vshost.exe 7664 TCP Send MyMachine:53209 -> SqlServerInstance:58904 SUCCESS
WindowsFormsApplication.vshost.exe 7664 TCP Receive MyMachine:53209 -> SqlServerInstance:58904 SUCCESS
WindowsFormsApplication.vshost.exe 7664 TCP Send MyMachine:53209 -> SqlServerInstance:58904 SUCCESS
WindowsFormsApplication.vshost.exe 7664 TCP Receive MyMachine:53209 -> SqlServerInstance:58904 SUCCESS
WindowsFormsApplication.vshost.exe 7664 TCP Send MyMachine:53209 -> SqlServerInstance:58904 SUCCESS
WindowsFormsApplication.vshost.exe 7664 TCP Receive MyMachine:53209 -> SqlServerInstance:58904 SUCCESS
WindowsFormsApplication.vshost.exe 7664 TCP Send MyMachine:53209 -> SqlServerInstance:58904 SUCCESS
WindowsFormsApplication.vshost.exe 7664 TCP Receive MyMachine:53209 -> SqlServerInstance:58904 SUCCESS
WindowsFormsApplication.vshost.exe 7664 TCP Receive MyMachine:53209 -> SqlServerInstance:58904 SUCCESS
WindowsFormsApplication.vshost.exe 7664 TCP Receive MyMachine:53209 -> SqlServerInstance:58904 SUCCESS
WindowsFormsApplication.vshost.exe 7664 TCP Receive MyMachine:53209 -> SqlServerInstance:58904 SUCCESS
WindowsFormsApplication.vshost.exe 7664 TCP Receive MyMachine:53209 -> SqlServerInstance:58904 SUCCESS
// Closing of dynamic assigned port
WindowsFormsApplication.vshost.exe 7664 TCP Disconnect MyMachine:53209 -> SqlServerInstance:58904 SUCCESS
+1 C'est la bonne réponse, mais je souhaite vraiment que vous modifiez votre réponse à une seule phrase suivie d'une seule ligne de code à titre d'exemple.
@Leegrissom: espère que cela en fait un peu plus clair.
En fait, c'est mieux i> que ma suggestion. :)
Pour moi, son travail comme ceci:
Prenez les citations de la chaîne de source de données. Aussi le préfixe `.`.
Il échoue également avec n'importe quelle combinaison de
127.0.0.1, 1433 code>,
localhost, 1433 code>, etc. La chose est pensée que j'utilise
sqlconnectionstringbuilder code> qui ajoute les citations uniquement lorsque j'ai le dbname, Syntaxe de port défini sur le champ Source de données. Si je construisais la corde de connexion manuellement, ce ne serait pas un problème.