ADO.NET에서 Side-by-Side 실행

.NET Framework에서의 side-by-side 실행은 .NET Framework의 여러 버전이 설치되어 있는 컴퓨터에서 애플리케이션을 컴파일한 버전만 사용하여 애플리케이션을 실행하는 기능입니다. side-by-side 실행을 구성하는 방법에 대한 자세한 내용은 Side-by-Side 실행을 참조하세요.

.NET Framework의 특정 버전을 사용하여 컴파일된 애플리케이션을 다른 버전의 .NET Framework에서 실행할 수 있습니다. 그러나 설치되어 있는 .NET Framework의 버전별로 애플리케이션 버전을 컴파일하여 개별적으로 실행하는 것이 좋습니다. 이 두 가지 방법 중 어떠한 방법으로 애플리케이션을 실행 여부에 관계없이 모든 경우에 애플리케이션의 다음 버전 또는 이전 버전과의 호환성에 영향을 줄 수 있는 릴리스 간의 ADO.NET 변경 내용을 파악해야 합니다.

다음 버전 및 이전 버전과의 호환성

다음 버전과의 호환성은 애플리케이션이 .NET Framework의 이전 버전에서 컴파일될 수 있지만 .NET Framework의 다음 버전에서도 올바르게 실행되는 것을 뜻합니다. .NET Framework 버전 1.1용으로 작성된 ADO.NET 코드는 이후 버전과 호환됩니다.

이전 버전과의 호환성은 애플리케이션이 .NET Framework의 새 버전용으로 컴파일되지만 .NET Framework의 이전 버전에서도 기능 손실 없이 실행되는 것을 뜻합니다. 물론 .NET Framework의 새 버전에 도입된 기능에는 해당되지 않습니다.

.NET Framework Data Provider for ODBC

.NET Framework Data Provider for ODBC(System.Data.Odbc)는 버전 1.1부터 .NET Framework의 일부로 포함됩니다.

ODBC 데이터 공급자를 사용하여 데이터 소스에 연결하는 애플리케이션을 .NET Framework 버전 1.0용으로 개발하고 .NET Framework 버전 1.1 이상 버전에서 해당 애플리케이션을 실행하려고 할 경우, ODBC 데이터 공급자에 대한 네임스페이스를 System.Data.Odbc로 업데이트해야 합니다. 그런 다음, 애플리케이션을 .NET Framework의 새 버전용으로 다시 컴파일해야 합니다.

ODBC 데이터 공급자를 사용하여 데이터 소스에 연결하는 애플리케이션을 .NET Framework 버전 2.0 이상용으로 개발하고 .NET Framework 버전 1.0에서 해당 애플리케이션을 실행하려고 할 경우, ODBC 데이터 공급자를 다운로드하여 .NET Framework 버전 1.0 시스템에 설치해야 합니다. 그런 다음, ODBC 데이터 공급자에 대한 네임스페이스를 Microsoft.Data.Odbc로 변경하고 애플리케이션을 .NET Framework 버전 1.0용으로 다시 컴파일해야 합니다.

.NET Framework Data Provider for Oracle

.NET Framework Data Provider for Oracle(System.Data.OracleClient)은 버전 1.1부터 .NET Framework의 일부로 포함됩니다.

데이터 공급자를 사용하여 데이터 소스에 연결하는 애플리케이션을 .NET Framework 버전 2.0 이상용으로 개발하고 .NET Framework 버전 1.0에서 해당 애플리케이션을 실행하려고 할 경우, 데이터 공급자를 다운로드하여 .NET Framework 버전 1.0 시스템에 설치해야 합니다.

코드 액세스 보안

.NET Framework 버전 2.0부터는 부분적으로 신뢰할 수 있는 영역에서 모든 .NET Framework 데이터 공급자를 사용할 수 있습니다. 또한 .NET Framework 버전 1.1의 .NET Framework 데이터 공급자에 새 보안 기능이 추가되었습니다. 이 기능으로 특정 보안 영역에서 사용할 수 있는 연결 문자열을 제한할 수 있습니다. 뿐만 아니라 특정 보안 영역에 대해 빈 암호 사용을 비활성화할 수도 있습니다. 자세한 내용은 Code Access Security and ADO.NET을 참조하세요.

.NET Framework의 각 설치 환경에는 별도의 Security.config 파일이 있기 때문에 보안 설정과 관련한 호환성 문제가 없습니다. 그러나 애플리케이션이 .NET Framework 버전 1.1 이상에 포함된 ADO.NET의 추가 보안 기능을 사용하는 경우에는 애플리케이션을 버전 1.0 시스템에 배포할 수 없습니다.

SqlCommand 실행

.NET Framework 버전 1.1 이상에서 ExecuteReader는 명령에 매개 변수가 있을 경우 sp_executesql 저장 프로시저의 컨텍스트에서 해당 명령만 실행하여 성능상의 이점을 제공합니다. 따라서 연결 상태에 영향을 주는 명령이 매개 변수가 없는 명령에 포함된 경우 연결이 열려 있는 동안 실행되는 모든 후속 명령의 연결 상태가 수정됩니다.

ExecuteReader 호출에서 다음 배치 명령을 실행할 수 있습니다.

SET NOCOUNT ON;  
SELECT * FROM dbo.Customers;  

NOCOUNT는 연결이 열려 있는 동안 실행되는 모든 후속 명령에 대해 ON으로 유지됩니다.

참고 항목