데이터베이스 연결은 애플리케이션 개발의 표준 측면으로 발전했습니다. 데이터베이스 연결 문자열은 이제 모든 프로젝트의 표준 필수 항목입니다. 다른 응용 프로그램에서 연결 문자열을 복사하거나 필요한 구문을 찾기 위해 검색을 수행하는 경우가 많습니다. 연결 문자열 옵션이 너무 많은 SQL Server와 상호 운용할 때 특히 그렇습니다. 이제 연결 문자열의 다양한 측면을 살펴보겠습니다.
연결 문자열
개체 인스턴스화 또는 생성 중에 데이터베이스 연결 문자열은 속성이나 메서드를 통해 필요한 개체에 전달됩니다. 연결 문자열의 형식은 세미콜론으로 구분된 키/값 매개 변수 쌍 목록입니다. 목록 A에는 SqlConnection 개체를 만들어 SQL Server에 연결하는 방법을 보여 주는 C# 예제가 포함되어 있습니다. 실제 연결 문자열은 개체의 ConnectionString 속성을 통해 할당됩니다. 목록 B에는 VB.NET 버전이 포함되어 있습니다.
목록 A
string cString = "데이터 소스=서버;초기 카탈로그=db;사용자 ID=테스트;비밀번호=테스트;";
SqlConnectionconn = 새로운 SqlConnection();
conn.ConnectionString = cString;
conn.Open();
목록 B
희미한 cString을 문자열로
cString = "데이터 소스=서버;초기 카탈로그=db;사용자 ID=테스트;비밀번호=테스트;"
Dim conn As SqlConnection = 새 SqlConnection()
conn.ConnectionString = cString
연결.열기()
연결 문자열은 데이터베이스 서버와 데이터베이스는 물론 데이터베이스에 액세스하는 데 필요한 사용자 이름과 비밀번호를 지정합니다. 이 형식은 모든 데이터베이스 상호 작용에 적합하지는 않지만 사용 가능한 옵션이 많으며 그 중 다수에는 동의어가 있습니다.
데이터 소스, 초기 카탈로그, 사용자 ID 및 비밀번호 요소와 함께 다음 옵션을 사용할 수 있습니다.
애플리케이션 이름: 애플리케이션의 이름입니다. 지정하지 않은 경우 해당 값은 .NET SqlClient 데이터 공급자입니다.
AttachDB파일 이름/확장 속성/초기 파일 이름: 전체 경로 이름을 포함하여 데이터베이스에 연결할 수 있는 기본 파일 이름입니다. 데이터베이스 이름은 데이터베이스 키워드를 사용하여 지정해야 합니다.
연결 시간 초과/연결 시간 초과: 서버 연결이 종료되기 전에 대기하는 시간(초)입니다. 기본값은 15입니다.
연결 수명: 연결이 연결 풀로 반환되면 연결 생성 시간과 현재 시간을 비교합니다. 이 시간 범위가 연결 유효 기간을 초과하는 경우 연결이 취소됩니다. 기본값은 0입니다.
연결 재설정: 연결 풀에서 연결이 제거될 때 연결이 재설정되는지 여부를 나타냅니다. false 유효성은 연결을 얻을 때 추가 서버 왕복이 필요하지 않으며 기본값은 true입니다.
현재 언어: SQL Server 언어 레코드의 이름입니다.
데이터 원본/서버/주소/주소/네트워크 주소: SQL Server 인스턴스의 이름 또는 네트워크 주소입니다.
암호화(암호화): 값이 true이면 SQL Server는 서버에 인증된 인증서가 설치되어 있는 경우 클라이언트와 서버 간에 전송되는 모든 데이터에 SSL 암호화를 사용합니다. 허용되는 값은 true, false, yes, no입니다.
Enlist(등록): 연결 풀 프로그램이 생성 스레드의 현재 트랜잭션 컨텍스트에 연결을 자동으로 등록할지 여부를 나타냅니다. 기본값은 true입니다.
데이터베이스/초기 카탈로그: 데이터베이스의 이름입니다.
통합 보안/신뢰할 수 있는 연결: 데이터베이스에 연결하는 데 Windows 인증이 사용되는지 여부를 나타냅니다. true, false 또는 true에 해당하는 sspi로 설정할 수 있습니다. 기본값은 false입니다.
Max Pool Size(연결 풀의 최대 용량): 연결 풀에서 허용하는 최대 연결 수입니다. 기본값은 100입니다.
Min Pool Size(연결 풀의 최소 용량): 연결 풀에서 허용하는 최소 연결 수이며 기본값은 0입니다.
네트워크 라이브러리/Net: SQL Server 인스턴스에 대한 연결을 설정하는 데 사용되는 네트워크 라이브러리입니다. 지원되는 값에는 dbnmpntw(명명된 파이프), dbmsrpcn(멀티프로토콜/RPC), dbmsvinn(Banyan Vines), dbmsspxn(IPX/SPX) 및 dbmssocn(TCP/IP)이 포함됩니다. 적절한 연결을 위해서는 프로토콜의 동적 링크 라이브러리를 설치해야 합니다. 기본값은 TCP/IP입니다.
패킷 크기: 데이터베이스와 통신하는 데 사용되는 네트워크 패킷의 크기입니다. 기본값은 8192입니다.
비밀번호/Pwd: 계정 이름에 해당하는 비밀번호입니다.
보안 정보 지속: 연결이 설정된 후 보안 정보를 사용할 수 있는지 여부를 결정하는 데 사용됩니다. 값이 true이면 사용자 이름, 비밀번호 등 보안에 민감한 데이터를 사용할 수 있고, 값이 false이면 사용할 수 없습니다. 연결 문자열을 재설정하면 암호를 포함한 모든 연결 문자열 값이 재구성됩니다. 기본값은 false입니다.
풀링: 연결 풀링 사용 여부를 결정합니다. true인 경우 해당 연결 풀에서 연결을 얻거나, 필요한 경우 연결이 생성되어 해당 연결 풀에 추가됩니다. 기본값은 true입니다.
사용자 ID: 데이터베이스에 로그인하는 데 사용되는 계정 이름입니다.
워크스테이션 ID: SQL Server에 연결된 워크스테이션의 이름입니다. 기본값은 로컬 컴퓨터의 이름입니다.
다음 연결 문자열은 신뢰할 수 있는 연결과 지정된 로그인 자격 증명(관리자 암호를 비워 두는 것보다 덜 안전함)을 사용하여 TestDev1 서버의 Northwind 데이터베이스에 대한 연결을 설정합니다. Server=TestDev1;Database=Northwind;User ID=sa ;
비밀번호=;Trusted_Connection=True;
다음 연결 문자열은 TCIP/IP 및 특정 IP 주소를 사용합니다.
데이터 소스=192.162.1.100,1433;네트워크 라이브러리=DBMSSOCN;
초기 카탈로그=Northwind;사용자 ID=sa;비밀번호=;
사용되는 옵션은 연결 문자열에 쉽게 포함될 수 있지만 이는 애플리케이션과 해당 요구 사항에 따라 달라집니다. 어떤 것이 사용 가능한지 알아두면 적절하게 사용할 수 있어서 좋습니다.
ADO.NET 2.0 사용
ADO.NET 2.0에는 각 .NET Framework 데이터 공급자에 대한 새로운 연결 문자열 생성기가 도입되었습니다. 키워드는 특성으로 나열되므로 데이터 소스에 제출되기 전에 연결 문자열 구문이 적용될 수 있습니다. 또한 구성 파일에 연결 문자열을 쉽게 저장 및 검색하고 이를 보호된 방식으로 암호화할 수 있는 새로운 클래스도 있습니다.