다음 표에서는 ConnectionString 내의 키워드 값에 대한 유효한 이름을 표시합니다.
이름 | 기본값 | 설명 |
Application Name |
| 응용 프로그램 이름이 제공되지 않으면 응용 프로그램의 이름이거나 '.Net SqlClient데이터 공급자'입니다. |
AttachDBFilename - 또는 - 확장 속성 - 또는 - Initial File Name |
| 연결할 수 있는 데이터베이스의 전체 경로 이름을 포함한 기본 파일의 이름입니다. 데이터베이스 이름은 'database' 키워드로 지정해야 합니다. |
Connect Timeout - 또는 - Connection Timeout | 15 | 시도를 종료하고 에러를 생성할 때까지 서버에 대한 연결을 대기하는 시간(초)입니다. |
Current Language |
| SQL Server 언어 레코드 이름입니다. |
Data Source - 또는 - Server - 또는 - Address - 또는 - Addr - 또는 - Network Address |
| 연결할 SQL Server 인스턴스의 이름이나 네트워크 주소입니다. |
Encrypt | 'false' | true인 경우 SQL Server에서는 서버에 인증서가 설치되어 있으면 클라이언트와 서버 사이에 전송되는 모든 데이터에 대해 SSL암호화를 사용합니다. 인식되는 값은 true,false, yes 및 no입니다. |
Initial Catalog - 또는 - Database |
| 데이터베이스 이름입니다. |
Integrated Security - 또는 - Trusted_Connection | 'false' | false인 경우 User ID 및 Password는 연결된 상태에서 지정됩니다. true인 경우 현재의Windows 계정 자격 증명이 인증에 사용됩니다. 인식되는 값은 true, false, yes, no 및 sspi(권장 사항. true와 같음)입니다. |
Network Library - 또는 - Net | 'dbmssocn' | SQL Server의 인스턴스에 연결하는 데 사용하는 네트워크 라이브러리입니다.지원되는 값은 dbnmpntw(명명된 파이프), dbmsrpcn(멀티프로토콜), dbmsadsn(Apple Talk), dbmsgnet(VIA), dbmslpcn(공유 메모리), dbmsspxn(IPX/SPX), dbmssocn(TCP/IP) 등입니다. 해당 네트워크 DLL이 연결할 시스템에 설치되어 있어야 합니다. 네트워크를 지정하지 않고 로컬 서버를 사용하면(예: "."또는 "(local)"), 공유 메모리가 사용됩니다. |
Packet Size | 8192 | SQL Server의 인스턴스와 통신하는 데 사용하는 네트워크 패킷의 크기(바이트)입니다. |
Password - 또는 - Pwd |
| 로그온할 SQL Server 계정에 대한 암호입니다. 이는 권장 사항이 아니며, 보안을 가장 높은 수준으로 유지하려면 대신Integrated Security 또는Trusted_Connection 키워드를 사용해 보십시오. |
Persist Security Info | 'false' | false 또는 no (권장 사항)로 설정된 경우 연결이 현재 열려 있거나 열린 상태였으면 암호와 같은 보안 중요 정보는 연결의 일부로 반환되지 않습니다. 연결 문자열을 다시 설정하면 암호를 포함한 모든 연결 문자열 값이 다시 설정됩니다. 인식되는 값은 true,false, yes 및 no입니다. |
User ID |
| SQL Server 로그인 계정입니다. 이는 권장 사항이 아니며, 보안을 가장 높은 수준으로 유지하려면 대신 Integrated Security 또는Trusted_Connection 키워드를 사용해 보십시오. |
Workstation ID | 로컬 컴퓨터 이름 | SQL Server에 연결하는 워크스테이션의 이름입니다. |
참고: 이 네임스페이스, 클래스 또는 멤버는 .NET Framework 1.1 버전에서만 지원됩니다.
데이터 소스를 여는 데 사용되는 문자열을 가져오거나 설정합니다.
[C#]
public virtual string ConnectionString {get; set;}
속성 값
초기 연결을 설정하는 데 필요한 데이터 소스 이름 같은 설정을 포함하는 ODBC 드라이버 연결 문자열입니다. 기본값은 빈 문자열("")입니다. 최대 길이는 1024 문자입니다.
구현
IDbConnection.ConnectionString
설명
ConnectionString 속성은 ODBC 연결 문자열 형식과 가능한 한 가깝게 일치하도록 고안되었습니다. ConnectionString은 연결이 끊어질 때만 설정될 수 있으며 일단 설정되면 드라이버 관리자와 원본 드라이버에 변경되지 않고 전달됩니다. 따라서 ConnectionString의 구문은 드라이버 관리자와 원본 드라이버가 지원하는 것과 정확히 일치해야 합니다.
ConnectionString 속성을 사용하여 ODBC DSN(데이터 소스 이름)을 포함한 여러 가지 데이터 소스에 연결할 수 있습니다. 다음 예제에서는 가능한 여러 연결 문자열을 나타냅니다.
"Driver={SQL Server};Server=MyServer;Trusted_Connection=yes;Database=Northwind;"
"Driver={Microsoft ODBC for Oracle};Server=ORACLE8i7;Persist Security Info=False;Trusted_Connection=yes"
"Driver={Microsoft Access Driver (*.mdb)};DBQ=c:\bin\nwind.mdb"
"Driver={Microsoft Excel Driver (*.xls)};DBQ=c:\bin\book1.xls"
"Driver={Microsoft Text Driver (*.txt; *.csv)};DBQ=c:\bin"
"DSN=dsnname"
참고 .NET Framework Data Provider for ODBC는 다른 .NET Framework 데이터 공급자가 지원하는 Persist Security Info 키워드를 지원하지 않습니다. 하지만 ConnectionString 속성은 Persist Security Info가 false로 설정된 것처럼 동작합니다. 즉, 연결이 열려 있지 않으면 ConnectionString 속성에서 암호를 검색할 수 없습니다. 열려 있는 OdbcConnection 개체에서 ConnectionString 속성을 읽는 경우 암호가 제외된 연결 문자열이 반환됩니다. 이 동작을 변경할 수는 없으므로 응용 프로그램에서 암호가 필요하면 Open을 호출하기 전에 별도로 암호를 저장하십시오.
문자열에 지정된 대부분의 설정에는 해당 읽기 전용 속성이 있습니다. 예를 들면, DataSource 속성에 해당하는 SERVER=MyServer가 있습니다. 오류가 발견된 경우를 제외하면 이러한 속성은 연결이 열린 후에 모두 업데이트됩니다. 오류가 발생하면 속성은 업데이트되지 않고 Database 같은 OdbcConnection 속성은 ConnectionString에서 지정된 문자열이나 기본 설정만 반환합니다.
Microsoft .NET Framework 버전 1.0에서 연결 문자열의 유효성 확인은 응용 프로그램이 Open 메서드를 호출해야 수행됩니다. 연결 문자열의 유효성 확인은 원본 ODBC 드라이버에서 수행됩니다. 연결 문자열에 잘못된 속성이나 지원되지 않는 속성이 있으면 드라이버는 런타임에 OdbcException을 발생시킬 수 있습니다.
그러나 .NET Framework 버전 1.1에서는 연결 문자열의 일부 기본 유효성 확인은 ConnectionString 속성을 설정하면 즉시 수행됩니다. 이 때 데이터 공급자는 연결 문자열이 "keyword=value;..." 형식과 일치하는지 확인하지만 키워드나 값이 유효한지는 확인하지 않습니다. 확인되지 않은 부분은 응용 프로그램이 Open 메서드를 호출할 때 원본 ODBC 드라이버에서 확인합니다.
ODBC 연결 문자열에는 다음 구문이 있습니다.
connection-string ::= empty-string[;] | attribute[;] | attribute; connection-string
empty-string ::=
attribute ::= attribute-keyword=attribute-value | DRIVER=[{]attribute-value[}]
attribute-keyword ::= DSN | UID | PWD
| driver-defined-attribute-keyword
attribute-value ::= character-string
driver-defined-attribute-keyword ::= identifier
여기에서 character-string에는 0개 이상의 문자가 있고, identifier에는 하나 이상의 문자가 있으며, attribute-keyword는 대/소문자를 구분하지 않고, attribute-value는 대/소문자를 구별할 수도 있습니다. 또한 DSN 키워드의 값은 공백으로만 구성되지는 않습니다.
연결 문자열과 초기화 파일 문법 때문에 중괄호로 묶지 않은 []{}(),;?*=!@ 문자를 포함하는 키워드와 특성 값을 사용해서는 안 됩니다. DSN 키워드의 값은 공백으로만 구성될 수는 없으며 공백으로 시작하지 않아야 합니다. 시스템 정보의 문법 때문에 키워드와 데이터 소스 이름에는 백슬래시(\) 문자가 있으면 안 됩니다.
특성에 중괄호가 필요한 세미콜론(;)이 포함되지 않으면 응용 프로그램에서는 DRIVER 키워드 다음에 나오는 특성 값을 중괄호로 묶지 않아도 됩니다. 드라이버가 받는 특성 값에 중괄호가 있으면 드라이버는 중괄호를 제거하지 않아야 하지만 중괄호는 반환되는 연결 문자열에 포함되어야 합니다.
[]{}(),;?*=!@ 문자를 포함하는 중괄호({})로 묶인 DSN 또는 연결 문자열 값은 변경되지 않고 드라이버로 전달됩니다. 그러나 이런 문자를 키워드에서 사용하는 경우, 드라이버 관리자는 파일 DSN으로 작업할 때 오류를 반환하지만 정규 연결 문자열에 대한 드라이버로 연결 문자열을 전달합니다. 포함된 중괄호를 키워드 값에서 사용하지 마십시오.
연결 문자열에는 드라이버가 정의한 키워드가 원하는 수만큼 포함될 수 있습니다. DRIVER 키워드는 시스템에서 정보를 사용하지 않기 때문에, 드라이버에서는 충분한 키워드를 정의해서 드라이버가 연결 문자열에 있는 정보만 사용하여 데이터 소스에 연결할 수 있도록 해야 합니다. 드라이버는 데이터 소스에 연결하는 데 필요한 키워드를 정의합니다.
키워드가 연결 문자열에서 반복되면 드라이버는 반복되는 키워드가 처음 발생할 때 이와 관련된 값을 사용합니다. DSN 및 DRIVER 키워드가 같은 연결 문자열에 포함되면 드라이버 관리자와 드라이버는 처음으로 나타나는 키워드를 사용합니다.
키워드나 값에 등호(=)를 포함하려면 다른 등호 뒤에 사용해야 합니다. 예를 들어, 가상 연결 문자열에서
"key==word=value"
키워드는 "key=word"이고 값은 "value"입니다.
참고 ODBC 드라이버가 1024 문자보다 긴 연결 문자열을 지원하면 최대 길이 한도를 초과하는 DSN(데이터 소스 이름)을 사용할 수 있습니다.
예제
다음 예제에서는 OdbcConnection을 만들고 그 속성의 일부를 연결 문자열에 설정합니다.
[C#]
public void CreateOdbcConnection()
{
string myConnString =
"DRIVER={SQL Server};SERVER=MyServer;Trusted_connection=yes;DATABASE=northwind;";
OdbcConnection myConnection = new OdbcConnection(myConnString);
myConnection.Open();
MessageBox.Show("ServerVersion: " + myConnection.ServerVersion
+ "\nDataSource: " + myConnection.DataSource);
myConnection.Close();
}
IP Address, MAC Address 구하기 (0) | 2016.02.25 |
---|---|
유선 IPv4 Address 구하기 (0) | 2016.02.25 |
Microsoft.ACE.OLEDB.12.0 공급자는 로컬 컴퓨터에 등록할 수 없습니다.(System.Data) (0) | 2016.01.21 |
네트워크 폴더 접근 (0) | 2016.01.14 |
공유폴더 설정 (0) | 2016.01.14 |