Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ten artykuł ułatwia rozwiązanie problemu występującego w przypadku używania protokołu innego niż TCP/IP do nawiązywania połączenia z programem SQL Server na porcie innym niż 1433.
Oryginalna wersja produktu: Visual C#
Oryginalny numer KB: 307645
Symptomy
Jeśli używasz protokołu innego niż protokół TCP/IP (Transmission Control Protocol/Internet Protocol), nie powiedzie się, SqlConnection.Open jeśli określisz numer portu inny niż 1433, aby nawiązać połączenie z wystąpieniem programu SQL Server.
Rozwiązanie
Aby rozwiązać ten problem, użyj protokołu TCP/IP i dołącz Server=ComputerName, PortNumber go do parametry połączenia.
Kroki odtwarzania zachowania
Uruchom program Visual Studio .NET.
Utwórz nowy projekt aplikacji konsolowej .NET języka Visual C#.
Upewnij się, że projekt zawiera odwołanie do
System.Dataprzestrzeni nazw i dodaj odwołanie do tej przestrzeni nazw, jeśli nie.Użyj instrukcji using w
Systemprzestrzeniach nazw ,System.Data,System.Data.SqlClientaby nie być wymagane do kwalifikowania deklaracji w tych przestrzeniach nazw w dalszej części kodu.using System; using System.Data; using System.Data.SqlClient;Program Visual Studio domyślnie tworzy klasę statyczną i pustą
Mainprocedurę. Skopiuj następujący kod i wklej go w oknie Kod:Uwaga 16.
Przed uruchomieniem tego kodu należy zmienić
User ID<username>wartość i wartość hasła<strong password>na poprawne wartości. Upewnij się, żeUser IDmasz odpowiednie uprawnienia do wykonania tej operacji w bazie danych.class Class1 { static void Main(string[] args) { string sConnectionString; sConnectionString = "User ID=<username>;Password =<strong password>;Initial Catalog=pubs;Data Source=myServer,1200"; SqlConnection objConn = new SqlConnection(sConnectionString); objConn.Open(); SqlDataAdapter daAuthors = new SqlDataAdapter("Select * From Authors", objConn); DataSet dsPubs = new DataSet("Pubs"); daAuthors.FillSchema(dsPubs, SchemaType.Source, "Authors"); daAuthors.Fill(dsPubs, "Authors"); daAuthors.MissingSchemaAction = MissingSchemaAction.AddWithKey; daAuthors.Fill(dsPubs, "Authors"); DataTable tblAuthors; tblAuthors = dsPubs.Tables["Authors"]; foreach (DataRow drCurrent in tblAuthors.Rows) { Console.WriteLine("{0} {1}", drCurrent["au_fname"].ToString(), drCurrent["au_lname"].ToString()); } Console.ReadLine(); } }Zmodyfikuj
sConnectionStringciąg zgodnie z potrzebami środowiska.Zapisz projekt.
W menu Debuguj kliknij przycisk Start i uruchom projekt, aby nawiązać połączenie z bazą danych.