강의 컨설팅 트레이닝 무료진단 무료책자 마케팅편지 마케팅정보공유 다이어리 서비스제휴 고객센터

mssql mysql 변환, asp 게시판 소스 수정
작성자 : 13 김영철
등록날짜 : 2009.01.29 15:47
4,832

MS-SQL 에서 MySQL로 변환하는데 필요한 절차를 적어 봅니다.

2개월 정도 시행착오가 있었네요. ㅡㅡ;





1. 준비사항

MySQL5 설치, 포트는 우선 3306으로 하고 나중에 변경요.

MyODBC3.5 설치

MYOLEDB3 설치 후 한글 패치

MsSQL2MySQL 다운 설치(http://www.kofler.cc/mysql/mssql2mysql.html)





2. 데이타 전송하기 전에



=> my.ini 파일을 아래와 같이 설정하고 서버 재시작

아래 mysqld 옵션을 설정하지 않으면 데이타 전송시 한글과 특수문자를 쓸때 에러 발생

[client]

port=3306



[mysql]

default-character-set=euckr



[mysqldump]

default-character-set=euckr



[mysqld]

init_connect="SET collation_connection = euckr_korean_ci"

init_connect="SET NAMES euckr"

default-character-set=euckr

character-set-server=euckr

collation-server=euckr_korean_ci



=> Ms-SQL에서 자동증가 상수를 사용하였다면 해당 컬럼에 인덱스 추가해야 My-SQL에서 인식함.





3. 데이타 전송



MsSQL2MySQL 실행하고 연결 설정한 후 데이타 전송(포트가 3306이 아니면 에러남)

root 계정이 아닌 일반 계정으로 설정하여야 전송이 잘 되는 것 같습니다. (root 계정은 utf8 을 사용 추정)

방화벽은 없는지 접속자 위치는 맞는지 확인하세요. 안되면 오디비시도 설정하시구요.





4. MySQL에 사용자 추가하고 권한주고 웹에서 접속



Set DbCon=server.createobject("adodb.connection")

dbcon.open "provider=mysqlprov;location=localhost;data source=디비이름;intergrated security='';user id=아이

디;password=비번;port=포트;"



위에 설정이 안되는 경우가 있음(나도 지금 안됨 ㅡ.ㅜ) 아래 소스를 사용함.



Set dbcon=server.createobject("adodb.connection")

dbcon.open "DRIVER={MySQL ODBC 3.51 Driver}; SERVER=localhost; DATABASE=디비이름; user id=아이디;

password=비번; OPTION=35;port=포트;"





5. ASP 파일에서 변경해 줘야할 DB 관련 함수와 파라미터



1) TOP는 LIMIT으로 교체.

예) SELECT TOP 1 FROM board WHERE uid = 1

-> SELECT * FROM board WHERE uid = 1 LIMIT 1



2) @@IDENTITY는 작동하지 않음. LAST_INSERT_ID()로 수정.

예) SELECT @@IDENTITY

-> SELECT LAST_INSERT_ID()



3) MSSQL에서는 GROUP BY에 SELECT 뒤에 나오는 컬럼을 다 적어주어야 함.



4) GETDATE()는 NOW()(날짜와 시간)나 curdate()(날짜만)로 바꾼다.

Ms-SQL에서 날짜 형식에 빈칸을 넣으면 1900-01-01이 들어가는데 MySQL에서는 에러난다.

"1900-01-01 00:00:00" 이나 "1900-01-01" 날짜형식 삽입



5) DATEDIFF()

mysql - DateDiff( date(컬럼명이나 날짜) ,'"& date &"') = 0

mssql - DATEDIFF(day, date, GETDATE()) = 0



6) string + string 은 CONCAT 을 하면 된다.

예) SELECT str('가'+'나') as title FROM board

-> SELECT CONCAT('가'.'나') AS title FROM board



7) ROUND([숫자], [자릿수]).



8) LIKE 문에서는 '['가 있는지 확인하여야 함.



9) UNION 을 쓸 때 MYSQL에서는 SELECT를 ()로 꼭 감싸주어야 한다.



10) 게시판 수정 작업

Result.PageCount 와 Result.RecordCount 가 제일 문제인데 이것을 계산하여 해당 변수에 넣어주면 됩니다.

AbsolutePage 는 빼도 되는거 같구요.



if Request("page")="" then  '넘겨받는 변수는 페이지 값만

page=1 

startpage=1

else

page=cint(Request("page"))

startpage=int(page/setsize)



if startpage=(page/setsize) then

startpage=page-setsize + 1

else

startpage=int(page/setsize)*setsize + 1

end if

end if



stpage = int((page - 1) * pgsize) '각 페이지에 맞게 잘라올 시작값



sql = "Select count(*) From tbname '

Set RsCount = Dbcon.Execute (sql)



trcount = cint(RsCount(0)) 'Result.RecordCount



IF trcount mod pgsize = 0 THEN

   pgcount = trcount / pgsize 'Result.PageCount

ELSE

   pgcount = (trcount / 10) + 1

END IF



sql="SELECT * FROM tbname ORDER BY ref DESC limit " & stpage & "," & pgsize

Set result = Dbcon.Execute (sql)



select mref = Max(ref) from 테이블 => select Max(ref) as mref from 테이블



select count(*) from 테이블

여기서 반환값이 상수형이 아닌 문자형으로 나와서 Rs(0) > 0 이렇게 비교하면 에러나는 것 같음.

IF cint(Rs(0)) > 0 THEN 이렇게 쓰세요.



Ms-SQL을 5년가까이 써왔는데 지금 집에 허접한 작업 피시에서 검색하는데도 처리 속도가 서버보다 더 빠

른 것 같네요. MySQL이 불안하고 기능이 제한되어 있었는데 5버젼에서 많은 기능이 추가되니 이제 궂이 M$-

SQL 쓰지 마시고 MySQL 쓰시기 바랍니다.

 

 

출처: http://www.taeyo.pe.kr/threadboard/Content.asp?table=Board_Asp&seqs=123713&page=1&IsSearch=true

"쇼핑몰·홈페이지·오픈마켓
블로그·페이스북·이메일 등의 각종 마케팅 글쓰기,
각종 광고, 영업, 판매, 제안서, 전단지
반응율 3배×10배 이상 높이는 마법의 8단계 공식"
자세히보기

Comments

번호 제목 글쓴이 날짜 조회
2805 Window Server 2003을 사용해 보자 M 최고의하루 12.20 2495
2804 Windows Server 2003 에서 IIS 6 + PHP 4.3.2 설정법 M 최고의하루 12.19 3960
2803 Windows Server 2003 완벽 재설치 M 최고의하루 12.19 3117
2802 SERVER 2003 섬네일(GD2) 기능 적용하기 M 최고의하루 12.18 2337
2801 윈도우2003 서버 SP1 환경에서 IIS에 php 설치 하기 M 최고의하루 12.18 2959
2800 PHP 4.4.3-dev, Zend 2.6.0, MySQL 4.0.26 버전 설치정보 M 최고의하루 12.04 2682
2799 Windows 2003 Server 설치 및 최적화 팁 모음 M 최고의하루 12.04 3244
2798 우편번호,주소 db 13 김영철 01.29 2367
2797 my-sql 을 좀 쉽게 다룰수 있는 프로그램입니다 13 김영철 01.29 2765
2796 Mysql 기본 사용법 13 김영철 01.29 2992
열람중 mssql mysql 변환, asp 게시판 소스 수정 13 김영철 01.29 4833
2794 mysql함수 13 김영철 01.29 2629
2793 mySQL에서의 트랜잭션 13 김영철 01.29 2436
2792 백업 및 복구 - 첫번째 13 김영철 01.29 2486
2791 백업 및 복구 - 두번째 13 김영철 01.29 2409
2790 사용자 및 권한 설정 13 김영철 01.29 2075
2789 [mysqld] Column Type => Timestamp 설정 13 김영철 01.29 2428
2788 MySQL, SQL문의 분류, Eclipse 셋팅, JDBC, 방명록 13 김영철 01.29 4121
2787 UNION 과 JOIN 의 차이점 13 김영철 01.29 2385
2786 mysql 한글 깨짐 13 김영철 01.29 3663
2785 Mysql 5.xxx 데몬 시작 및 중지 13 김영철 01.29 2589
2784 Mysql-5.0.37 설치 및 한글처리문제 13 김영철 01.29 2887
2783 윈도우 환경에서의 Mysql5 설치 및 설정방법 13 김영철 01.29 3234
2782 php5, mysql5.0 설치 13 김영철 01.29 2653
2781 mysql characterset 변경 13 김영철 01.29 2406
2780 Mysql 함수 총집합 13 김영철 01.29 3266
2779 Mysql 문자열 관련 함수 13 김영철 01.29 2735
2778 mysql 컬럼값 문자열 치환 - REPLACE() 13 김영철 01.29 2749
2777 Mysql 백업 하기 13 김영철 01.29 3129
2776 mysql 복구 13 김영철 01.29 2839
마케팅
특별 마케팅자료
다운로드 마케팅자료
창업,경영
기획,카피,상품전략
동기부여,성취