2016-08-01 17 views
1

Ich verfüge über eine SQL Server-& Webanwendung, die über Microsoft Azure gehostet wird. Ich bekomme ständig über Fehler, wenn ich Webanwendung (und versuche, Azure Sql Server) von meinem lokalen Netzwerk zu starten, aber ich nie Problem auf azurblauen Web-App-Service (dh nach dem Hosten meiner Web-App auf azurblauen)Azure-Fehler: Beim Herstellen einer Verbindung mit SQL Server ist ein netzwerkbezogener oder instanzspezifischer Fehler aufgetreten

Ich weiß, dass dieser Fehler sehr vertraut ist. Aber in diesem Fall scheint es komisch. Ich habe bereits folgende Dinge überprüft,

  1. SQL-Verbindung wird ordnungsgemäß verwaltet. (Ich benutze ADO.Net)
  2. Alle Gateway-IPs sind weiß aufgeführt gegen azurblaue SQL.
  3. Keine Firewall blockiert mein privates Netzwerk.

Jede Hilfe wird geschätzt.

+0

ist dies, weil die Remote-Verbindung ist nicht in SQL Server aktivieren, antwortet ich bin Entsendung mit Details – Mostafiz

+0

ist der SQL Server in einer azure virtuellen Maschine? – Mostafiz

+0

@Mostafiz hat vergessen, es in Liste hinzuzufügen, aber es ist bereits aktiviert. Es ist nicht in der virtuellen Maschine. – DSA

Antwort

0

Aus Mihaelas Kommentar: Sie müssen "tcp:" vor dem Servernamen hinzufügen. I.e. tcp:<servername>.database.windows.net


EDIT:

Dies ist in der [Dokumentation] angegeben wird (https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.connectionstring(v=vs.110).aspx)

Data Source must use the TCP format or the Named Pipes format.

TCP format is as follows:

•tcp:\

•tcp:,

The TCP format must start with the prefix "tcp:" and is followed by the database instance, as specified by a host name and an instance name.

The host name MUST be specified in one of the following ways:

•NetBIOSName

•IPv4Address

•IPv6Address

The instance name is used to resolve to a particular TCP/IP port number on which a database instance is hosted. Alternatively, specifying a TCP/IP port number directly is also allowed. If both instance name and port number are not present, the default database instance is used.

+0

Gibt es einen bestimmten Grund dafür? – DSA

+0

Es versucht möglicherweise, ein benanntes Pipe-Format zu verwenden, das mit Azure nicht korrekt aufgelöst werden kann. Daher ist es am besten der Dokumentation zu folgen, die sagt "" muss mit dem Präfix "tcp: '" beginnen :) –

Verwandte Themen