จะระบุหมายเลขพอร์ตในสตริงการเชื่อมต่อของ SQL Server ได้อย่างไร


139

ฉันใช้สตริงการเชื่อมต่อต่อไปนี้ใน SQL Server Management Studio การเชื่อมต่อล้มเหลว:

mycomputer.test.xxx.com:1234\myInstance1

แต่สิ่งต่อไปนี้ก็โอเค:

mycomputer.test.xxx.com\myInstance1

ดังนั้นฉันจะระบุหมายเลขพอร์ตในสตริงการเชื่อมต่อได้อย่างไร


2
เกี่ยวข้องกับstackoverflow.com/q/89576
binki

คำตอบ:


260

ใช้เครื่องหมายจุลภาคเพื่อระบุหมายเลขพอร์ตด้วย SQL Server:

mycomputer.test.xxx.com,1234

ไม่จำเป็นต้องระบุชื่ออินสแตนซ์เมื่อระบุพอร์ต

ตัวอย่างอื่น ๆ อีกมากมายที่http://www.connectionstrings.com/ มันช่วยฉันสองสามครั้ง


6
แต่ละอินสแตนซ์จะต้องอยู่บนพอร์ตที่แยกต่างหากดังนั้นพอร์ต = อินสแตนซ์ในเซิร์ฟเวอร์ Sql ฉันไม่เคยรู้เรื่องนี้ "พอร์ต" มาก่อนจนกระทั่งบัดนี้ - ขอบคุณ
Daniel Williams

1
@Daniel: ใช่คุณต้องระบุพอร์ตหรืออินสแตนซ์
Michael Petrotta

8
หมายเหตุ: ชื่ออินสแตนซ์จะถูกละเว้นเมื่อระบุพอร์ต ดังนั้น "mycomputer.test.xxx.com \ AnyOldRubbish, 1234" ก็ยังใช้งานได้
gbn

69
ฉันเพิ่งเสียเวลาเกือบทั้งวันพยายามที่จะคิดออก คนที่ Microsoft ควรได้รับการยิงสำหรับสิ่งนี้ พวกเขาไม่เพียง แต่ทำตามตัวเองเพื่อสร้างแบบแผนใหม่ทั้งหมดสำหรับการกำหนดที่อยู่พอร์ต (พวกเขาไม่สามารถใช้โคลอนเหมือนกับส่วนที่เหลือของโลก) แต่พวกเขาไม่สามารถใส่ใจที่จะทำการทดสอบใน SQL Server Management Studio คุณจะได้รับคำแนะนำบางอย่างเกี่ยวกับสิ่งที่เกิดขึ้น
PrgTrdr

1
มันทำงานอย่างไรถ้าอินสแตนซ์เริ่มต้น (MSSQLSERVER) ไม่ทำงานบน 1433
Mark Richman

12

สำหรับ JDBC รูปแบบที่เหมาะสมจะแตกต่างกันเล็กน้อยและเป็นดังนี้:

jdbc:microsoft:sqlserver://mycomputer.test.xxx.com:49843

สังเกตลำไส้ใหญ่แทนเครื่องหมายจุลภาค


1
ฉันเปลี่ยนจาก C # เป็น Java และคำตอบนี้ช่วยฉันได้ อีกครั้ง
smwikipedia

1
มันยอดเยี่ยมดีใจที่มันช่วย ไม่ใช่เอกสารที่เข้าใจง่ายใน Java สำหรับสตริงการเชื่อมต่อ JDBC ไม่แน่ใจว่าทำไมมันถึงต่างกันซึ่งน่ารำคาญ
เชน

1

สตริงการเชื่อมต่อ SQL ที่ถูกต้องสำหรับ SQL ที่มีพอร์ตที่ระบุคือใช้เครื่องหมายจุลภาคระหว่างที่อยู่ IP และหมายเลขพอร์ตเช่นรูปแบบต่อไปนี้: xxx.xxx.xxx.xxx, yyyy


-2

ในชื่อเซิร์ฟเวอร์คุณสามารถเพิ่มหมายเลขพอร์ตเช่นนี้

Server="servername:XXXXX"

แทนที่ XXXXX ด้วยหมายเลขพอร์ตของคุณ

สตริงการเชื่อมต่อของคุณจะมีลักษณะคล้ายกับด้านล่าง

<connectionStrings>
    <add name="ConnectionStringSQL" 
         connectionString="server=servername:XXXXX;database=databasename;uid=XXX;pwd=XXXXXXX"
         providerName="System.Data.SqlClient" />
</connectionStrings>

4
C # ใช้เครื่องหมายจุลภาคระหว่างชื่อเซิร์ฟเวอร์และหมายเลขพอร์ตไม่ใช่โคลอน
Dymas
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.