ms-sql에 있는 rtf데이터를 mysql에서 인식할수 있는 데이터로 변환하기

2024. 5. 29. 08:27젬스it

반응형

RTF(Rich Text Format) 데이터를 MySQL에서 인식할 수 있는 형식으로 변환하는 방법을 알려드리겠습니다. 여러 가지 방법이 있을 수 있으며, 아래의 두 가지 접근 방식을 고려해 보실 수 있습니다.
MSSQL에서 RTF 데이터를 텍스트로 변환 후 MySQL로 이관:
먼저 MSSQL에서 RTF 데이터를 텍스트로 변환합니다. 이를 위해 CONVERT 함수를 사용하여 RTF 데이터를 텍스트로 변환할 수 있습니다. 예를 들어, 다음과 같이 사용할 수 있습니다:
SQL

SELECT CONVERT(NVARCHAR(MAX), YourRTFColumn) AS PlainText
FROM YourTable


SELECT CONVERT(NVARCHAR(MAX), YourRTFColumn) AS PlainText
FROM YourTable

이렇게 변환된 텍스트 데이터를 MySQL로 이관하면 됩니다. MySQL에서는 텍스트 데이터를 적절한 형식으로 저장할 수 있습니다.
온라인 도구를 활용하여 RTF를 다른 형식으로 변환:
온라인 도구를 사용하여 RTF 데이터를 다른 형식으로 변환한 다음 MySQL로 가져올 수 있습니다. 예를 들어,
GroupDocs의 온라인 SQL to RTF 변환기를 사용하면 RTF 파일을 다른 형식으로 변환할 수 있습니다


https://products.groupdocs.app/ko/conversion/sql-to-rtf?ssp=1&darkschemeovr=1&setlang=ko&cc=KR&safesearch=moderate

SQL 에게 RTF 변환기

무료 변환기를 사용하여 어느 기기에서나 온라인으로 SQL 에게 RTF을(를) 변환하세요.

products.groupdocs.app





MS-SQL에 있는 RTF 데이터를 MySQL에서 인식할 수 있는 형식으로 변환하려면 RTF 데이터를 일반적인 텍스트 형식으로 변환해야 합니다.

다음은 MS-SQL에서 RTF 데이터를 MySQL에서 인식할 수 있는 형식으로 변환하는 예시입니다.

1. MS-SQL에서 RTF 데이터를 텍스트로 변환하는 쿼리 작성

```sql
SELECT CONVERT(NVARCHAR(MAX), YourRTFColumn) AS PlainTextColumn
FROM YourTable
```

2. 변환된 텍스트 데이터를 MySQL로 이관

텍스트 데이터를 MySQL로 이관하는 방법은 여러 가지가 있을 수 있습니다. 일반적으로는 변환된 텍스트 데이터를 CSV 파일로 내보내고, MySQL에서 LOAD DATA INFILE 명령어를 사용하여 데이터를 로드하는 것이 일반적입니다.

3. MySQL에서 데이터 가져오기

MySQL에서 텍스트 데이터를 가져오려면 다음과 같이 LOAD DATA INFILE 명령어를 사용할 수 있습니다.

```sql
LOAD DATA LOCAL INFILE 'yourfile.csv'
INTO TABLE YourMySQLTable
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\r\n'
(PlainTextColumn)
```

이렇게 하면 MS-SQL의 RTF 데이터를 MySQL에서 인식할 수 있는 형식으로 변환할 수 있습니다.


최종방법 - MS-SQL의 RTF 데이터를 MySQL에서 인식할 수 있는 형식으로 변환
1.    ms-sql function 을 생성함
      Create function dbo.Base64Encode ( @plain Varchar(max))
       Returns varchar(max)
      Begin
             declare @encoded varchar(max)
              select @encoded = cast(N’’ as XML).value (‘xs:base64Binary(xs:hexBinary(sql:column(“bin”)))’,’varcahr(max)’)
             FROM(
                           select cast(@plain AS varbinary(max)) as bin
                         ) as bin_sql_server_temp;
        RETURN @encoded
     END;

2. ms-sql에사 엑스포트시 아래와 같이 엑스포트한다.
    select  id,  convert(varchar(8000)
                , dbo.Base64Encode(CONTENT)) content  <— rtf형식 데이터가 포함된 컬럼
                , dbo.Base64Encode(note)) note   <—-  한글이 포함된 컬럼
     from tablet1

3.  my-sql  에서 데이터 확인
    select convert( from_base64(a.note) using ‘euckr’),   <— 한글이 포함된 컬럼
                from_base64(a.content)
     from table a
    정상변환 확인하였다.

4. ms-sql에서 데이터 export 시 unicode로 해야되고,
   스크립트로 생성할때,  생성한 base64encode function 으로  변환해서 작성해서 데이터를 익스포트한다.

5.  my-sql 데이터 임포트시  3번과 같이  데이터를 형변환해서 임포트한다.
    1000개씩 되는데 엄청 느리다.
    workbench  ( 리눅스설치버전에 포함되어있다) 를 이용하면 빠르다.


반응형