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
[10727] Re:Re:Re:Re:답변감사드립니다.(내용무)
궁금 [] 2805 읽음    2006-06-06 15:57
왕초보 님이 쓰신 글 :
: 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에 비해서 어떤 면이 좋은가요? 궁금 1723 2006/06/03
10722     Re:안영제님...MYDAC는 zeoslib에 비해서 어떤 면이 좋은가요? civilian,안영제 2441 2006/06/05
10724         Re:Re:재질문 궁금 1633 2006/06/05
10726             Re:Re:Re:재질문 왕초보 3869 2006/06/06
10727                 Re:Re:Re:Re:답변감사드립니다.(내용무) 궁금 2805 2006/06/06
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.