2014년 6월 23일 월요일

OleDbConnection 과 SqlConnection

C# 에서 DB 연결을 할때 OleDbConnection 과 SqlConnection, 이 두가지 경우를 사용해 DB 연결을 한다.

근데, 어째서 DB 연결하는 방식이 2개 인걸까?

간단히 말하자면...

# OleDbConnection 는 범용으로 C# 에서 지원하는 모든 DB 에 연결을 지원한다.
예를 들어 오라클, Mysql 같은것으로 쉽게 말해 MsSql 을 제외한 모든 DB 를 말한다.
그래서 Access 파일 (mdb 파일) 도 OleDbConnection 로 연결해 써야 한다.

범용 이므로 당연히 MsSql 도 연결이 된다.

>> MsSql 을 사용할 경우
private static String ConnStr = "Provider=SQLOLEDB;Data Source=localhost;initial catalog=it;user id=sa; password=$";
private static OleDbConnection Conn = new OleDbConnection(ConnStr);

>> Access 파일을 사용할 경우, Provider 를 바꿔 준다.
private static String ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + FileNames;

# SqlConnection 는 MsSql 전용으로 오직 MsSql DB 연결 만을 지원한다.
그렇기 때문에 MsSql을 SqlConnection 으로 연결시 OleDbConnection 에 비해 속도 향상이 된다.

public static string ConnStr = "server=111.111.111.111;database=it;User ID=it;Password=$;";
SqlConnection connection = new SqlConnection(ConnStr );


속도 향상이 된다는 것 빼고는 별다른 차점은 없어보인다.