이러쿵저러쿵


다들 하는말이 ASP + MSSQL과 잘 맞고, PHP + mySQL 잘 맞는다고 합니다.

뭐 웹개발 분야에서 일하시는 분들이라면 그 이유야 다들 아실 것이고.^^

 

그런데 예전에 ASP + MSSQL 로 웹 사이트를 구축하고, 서버를 관리하던 시절이 있었는데, 당시에 회사에서 전혀 우리랑은 맞지 않을 듯한 PHP + mySQL 로 된 (APM 조합입니다!!) 웹 사이트를 우리가 관리해야 한다고 하여 이전해 가져온 적이 있습니다.

 

리눅스의 리자도 모르던 시절(사실 압니다..)에 리눅스 서버를 별도로 운영하게 되었지요.

예전에 DOS 쓰던 시절이 다시 생각나고.. 다시 Command 환경의 까만 창을 보니 적응도 잘 안되고, PHP는 정말 단 한번도 공부한 적도 없었지요. (물론 PHP로 전향할 것도 아니고, 큰 개발을 하지는 않았고, 간단한 유지 보수 정도는 할만한 정도였습니다.)

 

 

아무튼, 시간이 조금 지나고 부득이 해당 사이트의 관리자 페이지를 추가 개발해야 되는 상황이 생겼는데, PHP로는 개발이 거의 불가능한 상황이었고(PHP 개발자도 회사에 없었고..), 고민고민 하다 생각해 낸 것이, ASP + mySQL 조합은 어떨까 하는 것이었지요.

 

ASP에서 mySQL만 접속해서 데이터에 접근할 수 있게 된다면 문제는 쉽게 해결될 수 있었습니다.

 

(항상 나는 포스팅 쓸 때, 왜이렇게 쓸데 없는 말을 앞에 주저리 주저리 하는 것일까 ㅡ.ㅡ; 뭔가 서두가 길지 않으면 안되는... 병인가 봅니다.)

 

아무튼 간단히 ASP 에서 mySQL에 접속하여 데이터를 가져오는 방법과 코드를 소개하려고 합니다.

 

먼저 아래 파일을 내려 받습니다. (단 Windows 64 버전이 아니라면 아래 링크로 가서 다운 받으세요~)

 

MySQL Connector (ODBC Version 3.51.30 - Windows 64비트)

 

mysql-connector-odbc-3.51.30-winx64.msi

 

 

 

아래 링크에서는 윈도우 32비트 버전도 받으실 수 있습니다.

 

MySQL Connector Download Page

 

URL : http://dev.mysql.com/downloads/connector/odbc/3.51.html

 

※ (참고) 3.51 버전 말고, 다른 상위 버전들도 많은데, 다른 환경에서는 어떤지 잘 모르겠지만, 5.x 버전대를 내려 받아 Windows Server 2008에 설치했더니, 정상 설치가 안되었습니다. 제가 첨부해드린 3.51 버전은 Windows Server 2008에서 정상적으로 설치됩니다.

 

 

내려 받은 파일을 실행하여 MySQL Connector 를 설치합니다.

 

 

※ (참고) 로컬 PC에서 작업을 하실 것이라면 해당 데스크탑PC에 설치하시면 되시고, 실제 웹 서버에서 동작되도록 하시려면 웹 서버에도 이 MySQL Connector를 설치하셔야 합니다.

 

 

 

 

설치 단계는 중간에 Typical 로 설치하시면 되며, 별다른 특이점이 없어서 생략합니다. (특별한 이유가 없다면 정상 설치될 것입니다.)

 

설치하고 나면 참 편하게도, 별도의 윈도우 ODBC 설정 작업이 필요 없습니다. (DB를 사용자 DSN에 등록하실 필요도 없습니다.)

 

제어판의 - 관리 도구 - 데이터 원본(ODBC) 설정 페이지로 가셔서 MySQL ODBC 드라이버가 정상적으로 설치된 것을 확인하실 수 있습니다.

 

 

 

 

이제 MySQL 커넥션 객체를 만들고 DB 테이블에 접근하여 데이터를 가져오는 ASP 코드만 작성하면 됩니다.

MS-SQL 때와 거의 동일하고, 별 차이도 없습니다.

 

<%

Dim dbConn    ' Connection 객체 선언
Dim rcdst          ' Record Set 객체 선언

 

      

Set dbConn = Server.CreateObject("ADODB.Connection")  ' ADODB
    
dbConn.Open "Driver={MySQL ODBC 3.51 driver}; Server=000.000.000.000; Database=DB_NAME; Uid=USER_ID; Pwd=PASSWORD;" ' Driver는 반드시 MySQL ODBC 3.51 drvier 로 해주세요!

 

dbConn.execute("set names euckr")   ' Caracter Set 설정 합니다.! (서버가 EUC-KR인 경우, 한글 깨짐 문제를 해결합니다.) UTF-8 문자 집합 서버라면 별도로 지정하지 않으셔도 됩니다.
    
if dbConn.errors.count = 0 then ' 접속 시, 에러 발생 여부를 확인합니다.
    Response.Write "MySQL 접속 성공!" 

else

    Response.Write "MySQL 접속 실패!"

    Response.End
end if 

 

' Connection 객체를 통해 Select 구문을 실행합니다.

' 테이블에서 10명의 회원 정보를 가져와 Record Set 변수에 저장합니다.
Set rcdst = dbConn.Execute("SELECT id, name, email, mobile FROM member_table LIMIT 10")

%> 

 

... (중략) ...

 

 

<%
        While Not rcdst.EOF    ' 루프를 돌며 Record Set 변수 객체로 부터 회원 정보를 하나씩 가져옵니다.
 
            Id = rcdst("id")    ' 회원 아이디
            Name = rcdst("name")    ' 회원 성명
            Email = rcdst("email")    ' 회원 이메일
            Mobile = rcdst("mobile")    ' 회원 휴대폰 번호
%>         
        <tr>
            <td height="25" align="center"></td>
            <td height="25" align="center"><%= Id %></td>
            <td height="25" align="center"><%= Name %></td>
            <td height="25" align="center"><%= Email %></td>
            <td height="25" align="center"><%= Tel %></td>

  </tr>

<%
            rcdst.MoveNext    ' 다음 데이터로 이동.
        Wend
%>        

 

%>

 

<%
    rcdst.Close    ' Record Set 객체 닫기
    
    dbConn.close    ' MySQL Connection 객체 닫기
    set dbConn = nothing
%> 


 

 위의 코드를 보시면 아시겠지만, Connection 객체 Open 내의 Driver 지정에만 차이가 있을 뿐, MS-SQL 의 DB 접근과 차이가 없습니다.

 

 당시에 ODBC 방식으로만 MySQL 접속할 수 있다고 해서 ODBC방식으로 접속하였는데, Oledb 방식으로도 접속할 수 있는 방법이 있는지는 확인해보지 못했습니다.^^

 

위의 소스 코드를 참조하여

데이터를 삽입(INSERT), 수정(UPDATE), 삭제(DELETE) 하는 코드도 쉽게 구현하실 수 있을 것이라 생각됩니다.

위의 코드를 응용해서 해보시기 바랍니다!!!! 뾰로롱~ ㅡ.ㅡ;

 

 

저작자 표시 비영리 변경 금지
신고

Comment +2

티스토리 툴바