Hoe kan ik een SQL Server-verbindingsreeks instellen?

Ik ben een eenvoudige C#-toepassing aan het ontwikkelen en ik zou dit graag willen weten: wanneer ik mijn toepassing verbind met SQL Server op mijn pc, weet ik de verbindingsreeks (servernaam, wachtwoord, enz.), maar wanneer Ik sluit het aan op een andere pc, de SQL Server-verbindingsreeks is anders. Is er een algemeen account in SQL Server dat wordt geleverd met een standaardaccount dat verbinding kan maken?

Ik heb gehoord over het account sain SQL Server. Wat is sa?


Antwoord 1, autoriteit 100%

.NET DataProvider — Standaard verbinding met gebruikersnaam en wachtwoord

using System.Data.SqlClient;
SqlConnection conn = new SqlConnection();
conn.ConnectionString =
  "Data Source=ServerName;" +
  "Initial Catalog=DataBaseName;" +
  "User id=UserName;" +
  "Password=Secret;";
conn.Open();

.NET DataProvider — Vertrouwde verbinding

SqlConnection conn = new SqlConnection();
conn.ConnectionString =
  "Data Source=ServerName;" +
  "Initial Catalog=DataBaseName;" +
  "Integrated Security=SSPI;";
conn.Open();

Raadpleeg de documentatie.


Antwoord 2, autoriteit 23%

Eigenlijk kunt u de klasse SqlConnectionStringBuildergebruiken om uw verbindingsreekste bouwen. Om de verbindingsreekste bouwen, moet u een object van die SqlConnectionStringBuilderinstantiëren en hun eigenschappen instellen met de parameters die u gebruikt om verbinding te maken met de database. Vervolgens kunt u de connection stringuit de ConnectionStringeigenschap halen uit het SqlConnectionStringBuilderobject, zoals in dit voorbeeld wordt getoond:

Bijvoorbeeld:

SqlConnectionStringBuilder sConnB = new SqlConnectionStringBuilder ()
    {
        DataSource = "ServerName",
        InitialCatalog = "DatabaseName",
        UserID = "UserName",
        Password = "UserPassword"
    }.ConnectionString
SqlConnection conn = new SqlConnection(sConnB.ConnectionString);

Je kunt de operator newgebruiken om dat direct te doen.

Bijvoorbeeld:

SqlConnection conn = new SqlConnection(
    new SqlConnectionStringBuilder ()
    {
        DataSource = "ServerName",
        InitialCatalog = "DatabaseName",
        UserID = "UserName",
        Password = "UserPassword"
    }.ConnectionString
);

U kunt meer parameters toevoegen om uw verbindingsreeksop te bouwen. Onthoud dat de parameters worden gedefinieerd door de waarden die zijn ingesteld in de objecteigenschappen SqlConnectionStringBuilder.

U kunt ook de databaseverbindingsreeks ophalen van de verbinding van Microsoft Visual Studio met de bijgevoegde database. Wanneer u de database selecteert, wordt in het eigenschappenvenster de verbindingsreeksweergegeven.

De volledige lijst met eigenschappen van de klasse SqlConnectionStringBuilderstaat in deze pagina van de Microsoft MSDN-site.

Over de standaardgebruiker van SQL Server, sabetekent “systeembeheerder” en het wachtwoord varieert afhankelijk van de SQL Server-versie. Op deze paginaje kunt zien hoe het wachtwoord varieert.

SQL Server 2008/R2 Express Gebruiker:sa Wachtwoord:[leeg wachtwoord –
laat veld leeg om verbinding te maken]

SQL Server 201x Express Gebruiker:sa Wachtwoord:Wachtwoord123

SQL Server 20xx Web of Standaard Gebruiker:sa Wachtwoord:zal hetzelfde zijn
als uw beheerders- of rootgebruikerswachtwoord op het moment dat de VDS werd
ingericht.

U kunt inloggen met de sagebruiker in dit inlogvenster aan het begin van SQL Server Database Manager. Zoals in deze afbeelding:


Antwoord 3, autoriteit 11%

.NET-gegevensprovider — Standaard relatief pad — Standaardverbinding

using System.Data.SqlClient;
 var conn = new SqlConnection();
 conn.ConnectionString = 
 "Data Source=.\SQLExpress;" + 
 "User Instance=true;" + 
 "User Id=UserName;" + 
 "Password=Secret;" + 
 "AttachDbFilename=|DataDirectory|DataBaseName.mdf;"conn.Open();

.NET Data Provider – standaard relatieve pad – Vertrouwde verbinding

using System.Data.SqlClient;
 var conn = new SqlConnection();
 conn.ConnectionString = 
 "Data Source=.\SQLExpress;" + 
 "User Instance=true;" + 
 "Integrated Security=true;" + 
 "AttachDbFilename=|DataDirectory|DataBaseName.mdf;" conn.Open();

.NET Data Provider – aangepaste relatieve pad – Standaardverbinding

using System.Data.SqlClient;
AppDomain.CurrentDomain.SetData(
"DataDirectory", "C:\MyPath\");
 var conn = new SqlConnection();
 conn.ConnectionString = 
 "Data Source=.\SQLExpress;" + 
 "User Instance=true;" + 
 "User Id=UserName;" + 
 "Password=Secret;" + 
"AttachDbFilename=|DataDirectory|DataBaseName.mdf;" conn.Open();  

.NET Data Provider – aangepaste relatieve pad – Vertrouwde verbinding

using System.Data.SqlClient;
 AppDomain.CurrentDomain.SetData(
 "DataDirectory", "C:\MyPath\");
 var conn = new SqlConnection();
 conn.ConnectionString = 
 "Data Source=.\SQLExpress;" + 
 "User Instance=true;" + 
 "Integrated Security=true;" + 
 "AttachDbFilename=|DataDirectory|DataBaseName.mdf;" conn.Open();

4, Autoriteit 8%

U kunt de verbindingsreeks als volgt gebruiken en u hoeft alleen uw database-naam toe te voegen.

string connetionString = "Data Source=.;Initial Catalog=DB name;Integrated Security=True;MultipleActiveResultSets=True";

5, Autoriteit 6%

Ze zijn een aantal dingen om je zorgen te maken over het verbinden met SQL Server op een andere machine.

  • Host / IP-adres van de machine
  • Initiële catalogus (databasenaam)
  • Geldige gebruikersnaam / wachtwoord

ZEER vaak SQL Server kan worden uitgevoerd als standaardinstantie, wat betekent dat u eenvoudig de hostnaam / IP-adres kunt opgeven, maar u kunt een scenario tegenkomen waar het wordt uitgevoerd als een benoemde instantie (SQL Server Express Edition bijvoorbeeld). In dit scenario moet u de naam van de hostnaam / exemplaren opgeven.


6, Autoriteit 4%

sais een systeembeheerderaccount dat standaard wordt geleverd met SQL & NBSP; Server. Zoals u weet, kunt u het al weten, kunt u twee manieren gebruiken om in te loggen op SQL Server.

Daarom zijn er verbindingsreeksen die geschikt zijn voor elk scenario (zoals Windows-authenticatie, localdb, enz.). Gebruik SQL Server Connection Strings voor ASP.NET-webtoepassingenom uw verbindingsreeks op te bouwen. Dit zijn XML-tags. Je hebt alleen een waarde van connectionStringnodig.


Antwoord 7, autoriteit 4%

U moet begrijpen dat een databaseserver of DBAniet zou willen dat zomaar iemand verbinding kunnen maken of de inhoud van de server kunnen wijzigen. Dit is het hele doel van beveiligingsaccounts. Als een enkele gebruikersnaam/wachtwoord op elke machine zou werken, zou het geen bescherming bieden.

Dat “iets” waarvan je hebt gehoord, werkt niet met SQL Server 2005, 2008of 2012. Ik ben echter niet zeker van eerdere versies. Ik geloof dat ergens in de begindagen van SQL Server de standaard gebruikersnaam en het standaard wachtwoord sa/sawaren, maar dat is niet langer het geval.

Ter info: databasebeveiliging en -rollen zijn tegenwoordig veel gecompliceerder. Misschien wilt u de details van Windows-gebaseerde authenticatie bekijken. Als uw SQL Server hiervoor is geconfigureerd, heeft u geen gebruikersnaam/wachtwoord in de verbindingsreeks nodig om er verbinding mee te maken. Het enige dat u hoeft te wijzigen, is de naam van de servermachine en dezelfde verbindingsreeks werkt met beide machines, aangezien beide natuurlijk dezelfde databasenaam hebben.


Antwoord 8, autoriteit 3%

We kunnen eenvoudig als volgt verbinding maken met de database:

uid=username;pwd=password;database=databasename;server=servername

Bijvoorbeeld:

string connectionString = @"uid=spacecraftU1;pwd=Appolo11;
                            database=spacecraft_db;
                            server=DESKTOP-99K0FRS\\PRANEETHDB";
SqlConnection con = new SqlConnection(connectionString);

Antwoord 9

"ConnectionString":{
  "Database_Name": "server=.;database=Database_Name;Integrated Security=true;"
},

Probeer deze eens

Other episodes