SqlServer 데 이 터 를 Oracle 로 이전 하 는 방법 요약
CLS
@echo off
for %%F in (.\*.sql) do (
for /f "delims=~" %%a in (%%~dfF) do (
rem echo "%%a"
BCP "%%a" queryout "%%~nF.csv" -c -t, -S"ip_address" -d"database_name" -U"user_name" -P"password"
@rem makecab /d compressiontype=lzx /d compressionmemory=21 "%%~nF.csv" "%%~nF.7z"
@rem del "%%~nF.csv"
)
rem pause
)
pause
ip_address: 데이터베이스 의 IP 주소
database_name: 데이터베이스 이름
user_name: 데이터베이스 사용자 이름
password: 데이터베이스 비밀번호
sql 문장의 예 는 다음 과 같 습 니 다. sql 문장의 형식 을 주의 하 십시오. 같은 줄 에 있어 야 합 니 다.
select username,userno from t_user
위의 cmd 명령 은 상기 sql 파일 과 같은 디 렉 터 리 에서 cmd 명령 을 누 르 면 SQL 구문 에서 조회 한 데 이 터 를 내 보 냅 니 다. 형식 은 csv 입 니 다.sqlserver 환경 을 설치 해 야 합 니 다. 상기 cmd 명령 이 실행 되 어야 합 니 다. bcp 명령 이 사용 되 기 때 문 입 니 다.
2. sqlldr 명령 을 사용 하여 일정한 ctl 형식 에 대응 하여 데 이 터 를 Oacle 에 가 져 옵 니 다.
sqlldr 명령 을 cmd 파일 로 쓸 수 있 습 니 다. 다음 과 같 습 니 다.
CLS
@echo off
sqlldr username/password@ip:port/instancename control=t_user.ctl errors=1000 rows=1000 log=log.txt bad=err.txt
pause
대응 하 는 ctl 파일 은 다음 과 같 습 니 다.
load data
infile 't_user.csv'
replace into table tmp_user
fields terminated by ','
OPTIONALLY ENCLOSED BY '"'
TRAILING NULLCOLS
(username,userno)
상기 문 구 는 tuser. csv 의 데이터, tmp 로 가 져 오기user 표 에서 csv 의 열 은 각각 tmp 에 대응 합 니 다.user 표 의 username 과 userno.
Oacle 환경 을 설치 해 야 합 니 다. 상기 cmd 명령 이 유효 합 니 다.
요약: 이상 은 하나의 방향 만 제공 하고 현실 에서 데이터 베 이 스 를 뛰 어 넘 는 이전 을 할 수 있 으 며 기 존의 도구 도 많이 사용 할 수 있 습 니 다. 예 를 들 어 navicat 또는 다른 etl 도구 등 입 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
SqlServer 데 이 터 를 Oracle 로 이전 하 는 방법 요약1. BCP 명령 을 사용 하여 csv 파일 로 Sqlserver 의 데 이 터 를 내 보 냅 니 다.우 리 는 이 명령 들 을 cmd 명령 으로 쓸 수 있 습 니 다. 문 구 는 다음 과 같 습 니 다. sql 문...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.