2011-04-25 4 views
0
  • sqlConnection ADO가 아닌 경우 레이어의 이름은 무엇입니까?asp.net : sqlConnection ADO입니까?

  • (비 MS db에 액세스하기 위해) ADO를 호출하려면 OleDbConnection을 사용 하시겠습니까?

답변

6

도록 SqlConnection은 ".NET Data Provider for SQL Server"의 일부입니다, 그래서하지 이전 COM 기반 ADO와 혼동 ADO.NET입니다.

또한 OleDBConnection이 Access에 적합하다고 생각합니다. 나는 MS Access를위한 기본 네이티브 데이터 공급자가 없다고 생각합니다.

+0

삭제 해 주셔서 감사합니다. 나는 그것에 파고있어 ... – Teson

1

1) SqlConnection 클래스는 System.Data.SqlClient 네임 스페이스의 일부이며 ADO.NET의 일부로 간주됩니다.

2) OleDbConnection은 OLE 데이터베이스에 연결하기위한 것입니다. 당신은 멀티 플랫폼 데이터 액세스 레이어 구축에 대해 이야기하는 경우, 당신은 등 일반적인 DbConnection, DbCommand를 만들 System.Data.Common.DbProviderFactories를 사용해야합니다, 다음 코드 예제와 같이 객체 :

Dim objFactory As DbProviderFactory = DbProviderFactories.GetFactory(ConfigurationManager.AppSettings("DbType")) 

    Dim objConnection As DbConnection = objFactory.CreateConnection 
    objConnection.ConnectionString = strConnectionString 

에서 이 예에서는 응용 프로그램 설정에서 사용중인 실제 공급자의 이름을 유지합니다.

일반 DB 객체는 최저 공통 분모 메소드 만 지원하므로 플랫폼에 특정한 것을 찾고 있다면 운이 없다는 것에 유의하십시오. 또한 물론 공급자 팩토리에 유효한 DBtype을 지정해야합니다. 즉, 내장 된 공급자 (ODBC, MS SQL, Oracle, OLEDB) 또는 타사 공급자 중 하나를 사용해야합니다. 나는 당신이 당신의 플랫폼을위한 ODBC 드라이버를 가지고 있다면 ODBC로 도망 갈 수있을 것이라고 생각하지만, 그것에 대해 많이 모른다. 다른 연결 개체에 대한 자세한 내용은

는 ADO.NET에 포함 된 MSDN-Connecting to Data Sources

+0

매우 철저한 대답에 감사드립니다! – Teson

0

예는 ADO.NET의 일부입니다. SqlConnection을 사용하는 경우 실제로 응용 프로그램과 데이터베이스를 연결하는 부분은 ADO.NET의 일부입니다.

관련 문제