mssql에서 mysql로 마이그레이션하는 작업은 시스템의 코드가 어떠냐에 따라 노가다의 정도가 다를 것으로 보인다. 작업 기간은 코드를 봐야 추측이 가능할 것이다.
0. 준비해야 할 사항(로컬에서)
- mysql 서버 설치
- mysql workbench
https://dev.mysql.com/downloads/workbench/
MySQL :: Download MySQL Workbench
Select Operating System: Select Operating System… Microsoft Windows Ubuntu Linux Red Hat Enterprise Linux / Oracle Linux Fedora macOS Source Code Select OS Version: All Windows (x86, 64-bit) Recommended Download: Other Downloads: Windows (x86, 64-bit), M
dev.mysql.com
- mysql odbc 설치
https://dev.mysql.com/downloads/connector/odbc/
MySQL :: Download Connector/ODBC
Select Operating System: Select Operating System… Microsoft Windows Ubuntu Linux Debian Linux SUSE Linux Enterprise Server Red Hat Enterprise Linux / Oracle Linux Fedora Linux - Generic Oracle Solaris macOS Source Code Select OS Version: All Windows (x86
dev.mysql.com
1. mssql to mysql 테이블/데이터 변환
- 스키마
mysql workbench 를 통해 스키마 정도는 무사히 마이그레이션이 가능하다.
- 데이터
mysql workbench를 통해서도 가능한 것으로 아는데, 테스트 상에서 문제가 많아 추후에 다시 테스트해보려고 한다.
mssql data를 덤프파일로 얻어 insert 가능하도록 적절하게 수정을 거치는 방법이 있다.
또 하나는 MSSQL to MySQL 프로그램을 이용하는 것인데, 대량인 경우는 에러가 발생하거나 먹통이
될 수도 있으므로, 테이블을 나눠서 얻는 것이 좋을 것이다.
이 또한 데이터를 어느 정도 수정을 해야 할 수도 있다.
2. select, view 쿼리
mysql과 mssql 은 sql 함수가 다른 것이 있으므로, 이를 찾아 수정해줘야 한다.
하단에 각각의 함수를 찾아볼 수 있는 w3schools.com 의 링크를 걸어뒀다.
3. 프로시저 변환
프로시저 역시 상당히 다른 부분이 많기 때문에 툴을 이용한다.
SQLines - Online SQL Conversion - SQL Scripts, DDL, Queries, Views, Stored Procedures, Triggers
www.sqlines.com
소스 내 프로시저 파라미터 수정이 필요할 수 있다.
이는 시스템 소스가 어떤 식으로 개발되어 있느냐에 따라 매우 다르다.
4. ASP 에서 mysql 연결 테스트하기
mysql ODBC 8.0을 사용했다.
<!--METADATA TYPE= "typelib" NAME= "ADODB Type Library"
FILE="C:\Program Files\Common Files\SYSTEM\ADO\msado15.dll" -->
<%
Dim strConn, Conn
strConn = "Driver={MySQL ODBC 8.0 UNICODE Driver};Server=localhost;Database=디비명;UID=디비계정;Pwd=비밀번호;Option=3"
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open strConn
' select 테스트
set objRs=server.createobject("adodb.recordset")
Dim strQuery : strQuery = " SELECT * FROM members WHERE no = 4"
objRs.open strQuery,Conn
if objRs.bof = true Then
else
response.write objRs("id")
end If
' 프로시저 테스트
' 간단한 insert 프로시저이다.
SET objCmd = Server.CreateObject("ADODB.Command")
WITH objCmd
.ActiveConnection = Conn
.CommandText = "프로시저이름"
.CommandType = adCmdStoredProc
.Parameters.Append .CreateParameter("id", adVarChar, adParamInput, 20)
.Parameters.Append .CreateParameter("ip", adVarChar, adParamInput, 20)
.Parameters.Append .CreateParameter("site", adVarChar, adParamInput, 250)
.Parameters.Append .CreateParameter("engine", adVarChar, adParamInput, 50)
.Parameters.Append .CreateParameter("search_str", adVarChar, adParamInput, 250)
.Parameters.Append .CreateParameter("pReturn", adUnsignedTinyInt, adParamOutput, 1)
.Parameters("id") = "guest1"
.Parameters("ip") = "127.0.0.1"
.Parameters("site") = "http://example.xx.xx"
.Parameters("engine") = "hohoho"
.Parameters("search_str") = "ahaha"
.Execute , , adExecuteNoRecords
sReturn = .Parameters("pReturn")
END WITH
response.write sReturn
%>
5. 기타 참고하기
- ADO Data type
프로시저 사용시 ASP 코드상에서 CreateParameter를 사용하지 않은 경우 작성해야 할 수도 있는데,
그 경우 DataTypeEnum Values 가 필요할 수 있다.
https://www.w3schools.com/asp/met_comm_createparameter.asp
ADO Command Object
W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.
www.w3schools.com
- mysql 함수
https://www.w3schools.com/mysql/mysql_ref_functions.asp
MySQL Functions
W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.
www.w3schools.com
- mssql 함수
https://www.w3schools.com/sql/sql_ref_sqlserver.asp
SQL Server Functions
W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.
www.w3schools.com
'Programming > Classic ASP, ASP.NET' 카테고리의 다른 글
IIS HTTP 오류 403.14 - Forbidden (0) | 2023.06.26 |
---|---|
IIS 설정 백업하기 (0) | 2023.06.26 |
Classic ASP MVC 패턴 구현하기 관련 자료 (0) | 2023.01.17 |
[ASP.NET] 시작해보기 (0) | 2022.11.27 |
[IIS] asp에서 excel 이용할 때 필요한 AccessDatabaseEngine (0) | 2022.11.27 |
댓글