Delphi Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
델파이 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
FreePascal/Lazarus
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

델파이 Q&A
Delphi Programming Q&A
[10726] Re:Re:Re:재질문
왕초보 [] 3867 읽음    2006-06-06 05:14
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포함)으로 사용하느냐, 다른 컴포넌트를 사용하느냐..등등 의 선택은 남아 있긴 합니다.

최대한 잘 설명 해볼려고 했는데,,..역시 글 재주가 없네요.
오해의 소지가 있는 부분은 고수 분께서 리플해 주실것으로 믿고..여기까지..
^^*.그럼~

+ -

관련 글 리스트
10720 안영제님...MYDAC는 zeoslib에 비해서 어떤 면이 좋은가요? 궁금 1721 2006/06/03
10722     Re:안영제님...MYDAC는 zeoslib에 비해서 어떤 면이 좋은가요? civilian,안영제 2439 2006/06/05
10724         Re:Re:재질문 궁금 1630 2006/06/05
10726             Re:Re:Re:재질문 왕초보 3867 2006/06/06
10727                 Re:Re:Re:Re:답변감사드립니다.(내용무) 궁금 2805 2006/06/06
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.