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포함)으로 사용하느냐, 다른 컴포넌트를 사용하느냐..등등 의 선택은 남아 있긴 합니다.
최대한 잘 설명 해볼려고 했는데,,..역시 글 재주가 없네요.
오해의 소지가 있는 부분은 고수 분께서 리플해 주실것으로 믿고..여기까지..
^^*.그럼~