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 );
속도 향상이 된다는 것 빼고는 별다른 차점은 없어보인다.