왕초보 님이 쓰신 글 :
:
http://crlab.com/mydac/
: 참고 하세요.
: mydac은 mysql만 가능
:
:
http://crlab.com/sdac/ --> SQL Server
:
:
http://crlab.com/products.html 을 보시면
: 다양하게 해당 DB컴포넌트 있습니다. 그럼~
:
: MySQL 의 경우 (ODBC, ADO)
:
http://dev.mysql.com/downloads/connector/odbc/3.51.html
:
http://dev.mysql.com/get/Downloads/MyODBC3/mysql-connector-odbc-3.51.12-win32.zip/from/http://mysql.holywar.net/
: 에서 다운 로드 하신후에 설치 하시면 delphi 2006 (dbGO)ADO 연결 컴포넌트에서
: 연결 문자열을
: Driver={MySQL ODBC 3.51 Driver};SERVER=localhost;DATABASE=DB명;uid=아이디;pwd=패스워드;OPTION=3
: 로 하시고 사용 하시면 프로그래밍 가능 합니다.
:
: dbExpress의 경우는
:
http://www.da-soft.com 의 anyDAC이 있으며,
:
http://www.justsoftwaresolutions.co.uk/delphi/dbexpress_and_mysql_5.html 를 참고하시면
: mysql5와 연결 가능 합니다.
: anyDAC의 경우 oralce. mysql, mssql, MS Access, DB2, SyBase 가능 합니다.
:
: 또한 dbExpress를 이용하여(delphi 2006 디펄트) mysql과 연결 하신다면
: 제가 알기로는 mysql5버전은 현재 지원하지 않고
: 4.0.x 정도는 무난하게 지원하는 걸로 알고 있습니다.
:
: MSSQL의 경우는 제가 생각하기에
: delphi에 설치 되어 있는 기본 컴포넌트로 충분하다고 봅니다.(ADO->MS..ㅡㅡ;)
:
: 참고로 sqlserver(mssql2005)2005의 경우는
: ntwdblib.dll 파일이 없습니다.
: 이 파일은 클라이언트 라이브러리 입니다. mssql 2000버전 전용 입니다.
: 이 파일로 DB서버와 통신을 합니다.
: 그러나, 2000 관리툴로 2005에 연결 할 수 있습니다. 이 말인 즉슨,
: ntwdblib.dll 파일로 2005와 통신 한다는 겁니다.
: php의 경우에도 php루트디렉터리에 ntwdblib.dll이 있습니다.
: 이 파일이 최신 파일이 아닐경우 2005와 연결이 되지 않습니다.
: (ntwdblib.dll파일은 sqlserver 2000 서비스팩 4번 이상의 파일에 보면 있습니다.)
: ntwdblib.dll의 최신 파일을 php루트디렉터리 윈도우의 system32폴더에 카피 하여 주고
: 사용하면 delphi 건 php건 간에 mssql 2000, 2005 버전과 일반적인 경우는 충분하게
: 작업 할 수 있다고 봅니다.
:
: 또한 참고로
: C#(닷넷)의 경우 MySQL5를 사용하고자 할때
: ...
: using System.Data.Odbc;
: ...
: private void button1_Click(object sender, EventArgs e)
: {
: string connectionString = "DRIVER={MySQL ODBC 3.51 Driver};" +
: "SERVER=localhost;" +
: "DATABASE=디비명;" +
: "UID=아이디;" +
: "PASSWORD=패스워드;" +
: "OPTION=3";
: string commandString = "select * from 테이블명";
:
: OdbcDataAdapter DBAdapter = new OdbcDataAdapter(commandString, connectionString);
:
: DataSet DS = new DataSet();
: DBAdapter.Fill(DS, "userdb");
: dataGridView1.DataSource = DS.Tables["userdb"].DefaultView;
: }
: 의 형태로 하면 되고,
:
:
http://dev.mysql.com/downloads/connector/net/1.0.html 에서
: 닷넷 컨넥트를 사용하여 하시면 더 좋은 결과를 얻을 수 있을 것 같습니다. 다음과 같이
:
: using System;
: using System.Collections.Generic;
: using System.Text;
: //이 부분을 추가합니다.
: using MySql.Data.MySqlClient;
:
: namespace MysqlDemo1
: {
: class Program
: {
: static void Main(string[] args)
: {
: Connect();
: }
:
: static void Connect()
: {
: //mssql은 SqlConnection 이지만, MySql은 MySqlConnection 입니다.
: //Sql->MySql 즉 예를들면 MySqlCommand 이런 형태로 사용하시면 됩니다.
: MySqlConnection connection;
: connection = new MySqlConnection();
:
: string connectionString = "server=localhost;database=디비명;uid=아이디t;pwd=패스워드";
: connection.ConnectionString = connectionString;
:
: try
: {
: Console.WriteLine("데이터베이스 연결중...");
: connection.Open();
: Console.WriteLine("데이터베이스 연결 성공");
:
: Console.WriteLine("현재 데이터베이스 : " + connection.Database);
: Console.WriteLine("현재 연결 상태 : " + connection.State);
: Console.WriteLine("데이터베이스 버전 : " + connection.ServerVersion);
: }
: catch (Exception E)
: {
: Console.WriteLine("데이터베이스 연결 실패");
: Console.WriteLine(E.Message);
: Console.WriteLine(E.StackTrace);
: }
: Console.WriteLine("데이터베이스에 연결 종료중...");
: connection.Close();
: Console.WriteLine("데이터베이스에 연결 종료 성공");
: }
: }
: }
:
: 등등 입니다.
:
: 닷넷이건 delphi건 간에 mysql5와 작업시
: utf8 부분등 한글 관련 부분이 일정하게 일치 하지 않는 경우도 있습니다.
: (어플리케이션은 델파이건 닷넷이건 큰 차이가 없는데, 웹에서는 고려 해야 함)
: 저의 경우는
: C#과 delphi ->관리자 툴 를 기본으로 작업하고
: 웹에서 작업할때 한글 부분이 제대로 표현이 안되는 부분을 고쳐 나갑니다.
: php경우 iconv함수를 사용하여(list.php)
: $my_name = iconv("cp949", "utf-8", $my_name);
: 웹이 utf-8로 되어 있을 경우 입니다.
: ....
:
: 암튼 mssql에서 ADO로 연결 작업을 한다는 것은 윈도우에서
: 델파이건 닷넷이건 베이직이건 다 같습니다.ㅡㅡ;
:
: 다만, mysql의 경우는 버전 차이의 고려와 함께
: Ado(odbc포함)으로 사용하느냐, 다른 컴포넌트를 사용하느냐..등등 의 선택은 남아 있긴 합니다.
:
: 최대한 잘 설명 해볼려고 했는데,,..역시 글 재주가 없네요.
: 오해의 소지가 있는 부분은 고수 분께서 리플해 주실것으로 믿고..여기까지..
: ^^*.그럼~