2가지 방법으로 테스트 해 봤습니다. 직접 코딩을 했더니 MySql,Data 의 어셈블리 참조를 못해서 컴파일이 안되더군요.
결국 비주얼스튜디오를 이용해서 참조시키고 컴파일해서 테스트 했습니다.
아래 소스를 보시면 odbc 와 mysqlclient 를 사용해서 두가지로 접속 했습니다.
이상없이 동작한걸 확인했는데, oledb 를 이용한 mysql 접속은 더이상 지원하지 않는 거 같습니다.
(참고: http://www.pcrpg.org/TRPGguides/mysqloledotnet.php (꽤 오래된 문서입니다.))
mysql 사이트에서는 myoledb 에 관해 http://sourceforge.net/projects/mysqlnet/ 를 참조하라고 하는데, 이곳 역시 2004년 이후로 개발 진행 안되고 있습니다. (상용을 찾으시면 http://crlab.com/mysqlnet/ 에서 지원하고 있습니다.)
odbc 를 이용할 경우 http://dev.mysql.com/downloads/connector/odbc/3.51.html 를,
mysqlclient 는 http://dev.mysql.com/downloads/connector/net/5.0.html 를 설치하시고 사용하시면 됩니다.
using System; using System.Data; //using System.Data.OleDb; using System.Data.Odbc; // for odbcClient 메서드 using MySql.Data.MySqlClient; // for sqlClient 메서드 (추천) namespace sqlTest { class Program { public void odbcClient() { Console.WriteLine("ODBC Ready..."); OdbcConnection conn; try { conn = new OdbcConnection("DRIVER={MySQL ODBC 3.51 Driver};Server=localhost;User=root;Password=;Database=mysql;"); conn.Open(); if (conn.State == ConnectionState.Open) { Console.WriteLine("ODBC Connected !"); } } catch (OdbcException e) { Console.WriteLine("ODBC Exception: {0}", e.Message); } } public void sqlClient() { Console.WriteLine("MySql Ready..."); MySqlConnection conn; try { conn = new MySqlConnection("Server=localhost;User=root;Password=;Database=mysql;"); conn.Open(); if (conn.State == ConnectionState.Open) { Console.WriteLine("MySql Connected !"); } } catch (MySqlException e) { Console.WriteLine("MySql Exception: {0}", e.Message); } } public static void Main(string[] args) { Program mt = new Program(); // 접속 테스트 mt.odbcClient(); mt.sqlClient(); } } }
'Development > C#' 카테고리의 다른 글
제네릭이란 무엇인가? (0) | 2008.11.17 |
---|---|
DataGridView 내용 엑셀에 붙이기 (0) | 2008.10.30 |
아스키코드표 (0) | 2008.10.30 |
Windows 서비스 프로그램 (0) | 2008.08.07 |
DataGridView Tip (0) | 2008.08.05 |