SQL Server 연결 문자열을 설정하려면 어떻게 해야 합니까?
간단한 C# 애플리케이션을 개발하고 있는데, 이에 대해 알고 싶습니다.PC의 SQL Server에 응용 프로그램을 연결할 때 연결 문자열(서버 이름, 암호 등)을 알고 있지만 다른 PC에 연결할 때 SQL Server 연결 문자열이 다릅니다.SQL Server에 연결할 수 있는 기본 계정과 함께 제공되는 공통 계정이 있습니까?
는 저는그것대들다니었습해에▁the다▁about니▁i에 대해 들어본 적이 있습니다.sa
SQL Server는 SQL Server입니다.란?sa
?
.NET DataProvider - 사용자 이름 및 암호를 사용하는 표준 연결
using System.Data.SqlClient;
SqlConnection conn = new SqlConnection();
conn.ConnectionString =
"Data Source=ServerName;" +
"Initial Catalog=DataBaseName;" +
"User id=UserName;" +
"Password=Secret;";
conn.Open();
.NET 데이터 공급자 - 신뢰할 수 있는 연결
SqlConnection conn = new SqlConnection();
conn.ConnectionString =
"Data Source=ServerName;" +
"Initial Catalog=DataBaseName;" +
"Integrated Security=SSPI;";
conn.Open();
설명서를 참조하십시오.
사실 당신은 그것을 사용할 수 있습니다.SqlConnectionStringBuilder
연결 문자열을 작성할 클래스입니다.연결 문자열을 작성하려면 개체를 인스턴스화해야 합니다.SqlConnectionStringBuilder
데이터베이스에 연결하는 데 사용하는 매개 변수를 사용하여 속성을 설정합니다.그런 다음 다음 에서 연결 문자열을 가져올 수 있습니다.ConnectionString
SqlConnectionStringBuilder
다음 예제에 표시된 대로):
예:
SqlConnectionStringBuilder sConnB = new SqlConnectionStringBuilder ()
{
DataSource = "ServerName",
InitialCatalog = "DatabaseName",
UserID = "UserName",
Password = "UserPassword"
}.ConnectionString
SqlConnection conn = new SqlConnection(sConnB.ConnectionString);
다음 중 하나를 사용할 수 있습니다.new
그것을 직접 만들기 위한 연산자.
예:
SqlConnection conn = new SqlConnection(
new SqlConnectionStringBuilder ()
{
DataSource = "ServerName",
InitialCatalog = "DatabaseName",
UserID = "UserName",
Password = "UserPassword"
}.ConnectionString
);
매개 변수를 추가하여 연결 문자열을 작성할 수 있습니다.파라미터는 에서 설정된 값에 의해 정의됩니다.SqlConnectionStringBuilder
개체 속성.
또한 데이터베이스가 연결된 Microsoft Visual Studio의 연결에서 데이터베이스 연결 문자열을 가져올 수 있습니다.데이터베이스를 선택하면 속성 패널에 연결 문자열이 표시됩니다.
의 전체 입니다.SqlConnectionStringBuilder
클래스는 Microsoft MSDN 사이트의 이 페이지에 나열되어 있습니다.
SQL Server의 기본 사용자에 대해 sa는 "시스템 관리자"를 의미하며 암호는 SQL Server 버전에 따라 다릅니다.이 페이지에서 암호가 어떻게 변하는지 볼 수 있습니다.
SQL Server 2008/R2 Express 사용자:sa 암호: [공백 암호 - 연결하려면 필드를 비워 두십시오]
SQL Server 201x Express 사용자:sa 암호:Password123
SQL Server 20xx 웹 또는 표준 사용자:sa 암호: VDS가 프로비저닝된 시점의 관리자 또는 루트 사용자 암호와 동일합니다.
SQL Server Database Manager를 시작할 때 이 로그인 창에서 sa 사용자로 로그인할 수 있습니다.이 이미지와 같이:
.NET 데이터 공급자 -- 기본 상대 경로 -- 표준 연결
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 데이터 공급자 -- 기본 상대 경로 -- 신뢰할 수 있는 연결
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 데이터 공급자 -- 사용자 정의 상대 경로 -- 표준 연결
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 데이터 공급자 -- 사용자 정의 상대 경로 -- 신뢰할 수 있는 연결
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();
다음과 같이 연결 문자열을 사용할 수 있으며 데이터베이스 이름만 추가하면 됩니다.
string connetionString = "Data Source=.;Initial Catalog=DB name;Integrated Security=True;MultipleActiveResultSets=True";
이러한 문제는 다른 시스템의 SQL Server에 연결할 때 걱정해야 할 여러 가지 사항입니다.
- 시스템의 호스트/IP 주소
- 초기 카탈로그(데이터베이스 이름)
- 올바른 사용자 이름/암호
SQL Server가 기본 인스턴스로 실행되는 경우가 많습니다. 즉, 호스트 이름/IP 주소를 지정하면 되지만 명명된 인스턴스(예: SQL Server Express Edition)로 실행되는 시나리오가 발생할 수 있습니다.이 시나리오에서는 호스트 이름/인스턴스 이름을 지정해야 합니다.
다음과 같이 간단하게 데이터베이스에 연결할 수 있습니다.
uid=username;pwd=password;database=databasename;server=servername
예:
string connectionString = @"uid=spacecraftU1;pwd=Appolo11;
database=spacecraft_db;
server=DESKTOP-99K0FRS\\PRANEETHDB";
SqlConnection con = new SqlConnection(connectionString);
서버가 도메인에 있는 경우 윈도우즈 인증 또는 SQL 서버 인증을 사용할 수 있습니다.Sa는 SQL Server 인증의 루트 계정인 시스템 관리자입니다.그러나 클라이언트에 연결할 때 if를 사용하는 것은 좋지 않은 관행입니다.
자신의 계정을 생성하여 SQL Server 인스턴스에 연결하는 데 사용해야 합니다.각 연결에서 계정 로그인, 암호 및 연결하려는 기본 데이터베이스를 설정합니다.
sa
는 기본적으로 SQL Server와 함께 제공되는 시스템 관리자 계정입니다.이미 알고 있듯이 SQL Server에 로그인하는 두 가지 방법을 사용할 수 있습니다.
따라서 각 시나리오(Windows 인증, localdb 등)에 적합한 연결 문자열이 있습니다.ASP.NET 웹 응용 프로그램용 SQL Server 연결 문자열을 사용하여 연결 문자열을 작성합니다.XML 태그입니다.connectionString 값만 있으면 됩니다.
데이터베이스 서버 또는 DBA는 모든 사용자가 서버의 내용을 연결하거나 수정하는 것을 원하지 않습니다.이것이 보안 계정의 전체 목적입니다.단일 사용자 이름/암호가 모든 컴퓨터에서만 작동하는 경우 보호 기능이 제공되지 않습니다.
들어본 "sa"는 SQL Server 2005, 2008 또는 2012에서 작동하지 않습니다.이전 버전에 대해서는 잘 모르겠습니다.SQL Server 초기에는 기본 사용자 이름과 암호가 sa/sa였다고 생각하지만, 이제는 그렇지 않습니다.
참고로 요즘은 데이터베이스 보안 및 역할이 훨씬 더 복잡합니다.Windows 기반 인증에 대한 세부 정보를 확인할 수 있습니다.SQL Server가 구성된 경우 연결 문자열에 연결할 사용자 이름/암호가 필요하지 않습니다.서버 컴퓨터 이름만 변경하면 되며, 두 컴퓨터 모두 동일한 데이터베이스 이름을 가지고 있기 때문에 동일한 연결 문자열이 두 컴퓨터 모두에서 작동합니다.
.NET Core 솔루션을 찾는 사람이 있다면 appsettings.json에서 sql server 연결 문자열을 설정해야 합니다.
{
"ConnectionStrings": {
"SQLServerAuth": "Data Source=Desktop-11\\SQL2017;Initial Catalog=SampleDB; User ID=sa;Password=pass1234"
}
}
원본: SQL Server 연결 문자열 예제
Windows Auth Connection의 경우 Appsettings.json의 문자열은 다음과 같습니다.
{
"ConnectionStrings": {
"WindowsAuth": "Data Source=Desktop-11\\SQL2017;Initial Catalog=SampleDB; Integrated Security=true",
}
}
언급URL : https://stackoverflow.com/questions/15631602/how-can-i-set-an-sql-server-connection-string
'programing' 카테고리의 다른 글
Android 도구 모음 센터 제목 및 사용자 정의 글꼴 (0) | 2023.06.01 |
---|---|
루비 온 레일즈에서 세터 방법을 재정의하는 올바른 방법은 무엇입니까? (0) | 2023.06.01 |
Angular.copy의 Angular.copy에 대한 대안은 무엇입니까? (0) | 2023.06.01 |
루비에서 'continue'와 유사한 .each 루프에서 루프를 건너뛰려면 어떻게 해야 합니까? (0) | 2023.06.01 |
오류: 모듈에서 예기치 않은 값 '정의되지 않음'을(를) 가져왔습니다. (0) | 2023.06.01 |