2010-08-11 76 views
7

我很難在c#中創建連接字符串,該連接字符串將使用公共IP,命名實例和端口號(除1433之外)連接到遠程SQL服務器。任何人都知道如何做到這一點?使用公共IP,命名實例和端口號的SQL連接

+4

HTTP:// WWW .connectionstrings.com /是連接字符串問題的絕佳網站。 – 2010-08-11 17:22:59

回答

15

試試這個,你要使用的端口號替換666,190.190.200.100你想要的IP地址等:

Data Source=190.190.200.100\MyInstance,666;Network Library=DBMSSOCN;Initial Catalog=myDataBase;User ID=myUsername;Password=myPassword; 
+0

是否需要'網絡庫= DBMSSOCN;'? @RedFilter – Jean 2014-01-06 23:26:52

0
connectionString="Database=pub;Server=192.168.1.1\INSTANCE,1746;Trusted_Connection=yes;" 

或者你可以使用username/password而不是可信連接。

+0

不知道本地IP,但如果你嘗試這樣做,它將無法使用公共IP。 – strattonn 2010-08-18 00:57:18

+0

是的,你將不得不改變IP地址,如果你可以解決它應該工作的IP地址,我已經在過去做過。 – BlackICE 2010-08-18 15:25:54

2

使用ServerName tcp:<public IP>,<port>,如記錄在SqlConnection.ConnectionString

的SQL Server 實例的名稱或網絡地址,以便於 連接。端口號可以在服務器名稱之後指定 :

server=tcp:servername, portnumber

當指定一個本地實例, 總是使用(本地)。要強制 協議,添加以下 前綴之一:

np:(local)tcp:(local)lpc:(local)

數據源必須使用TCP格式或 命名管道格式。

TCP格式如下:

  • tcp:<host name>\<instance name>
  • tcp:<host name>,<TCP/IP port number>

如果使用需要SQL瀏覽器服務連接tcp:<host name>\<isntance name>(1433端口),因此最好使用後面的格式,用明確的端口名稱:

Data Source=tcp:1.2.3.4,1234;User Id=...; Password=... 
0

This site has never failed me.

,我會在這裏的狀態明顯,但它通常是一個壞主意,暴露在互聯網上的SQL Server。(除非您使用VPN)

+1

我同意這一點。 – strattonn 2010-08-18 01:22:46

相關問題