님이 말씀하신 Sybase는 ASE(일반DBMS)가 아닌 ASA(모바일용) 혹은 ASIQ(DW용) 인듯 싶군요....
음~~ 먼저 어떤 제품인지 정확히 말씀해주셔야 해결책이 있을듯 싶구요...
다시 리플달아 주세여.....
글구 데이타를 텍스트로 받을때 가장 중요한건 delimiter임다.(<-- 이거 스펠링 맞나여?? ㅡ.ㅡ;;) 왜냐면 요즘 데이타들은 텍스트 데이타가 많아서 딜리미터와 중복되는 경우가 많더군요.... 예를 들어 실제 데이타 안에 특수문자(!@#$%^&*() 이런것들이여)들이 포함되는 경우들이여...
이런 경우에는 데이타의 손실이 발생할 수 있슴다...
그래서 여러개의 문자를 혼합해서 딜리미터를 사용하는 방법두 고려해볼만 함다.(예를 들어 '$#@' 머 이런걸루여)
근데 각 데이타베이스 마다 지원되는 방식이 약간씩 틀려요...
그니까 그때 그때 맞쳐서 쓸 수 밖에 없져....
예를 들어 Informix는 한바이트 딜리미터만 지원되던군요... unload를 쓸때요... 글구 sybase와는 달리 row delimiter도 항상 포함되구요...
저 같은 경우는 bcp를 사용할때 -t'^%$' -r'#@!' 같은 옵션을 쓰져...
글구 컬럼사이에 쿼테이션은 없는게 가장 일반적인듯 싶네여....
암튼 수고하세요~~~
-- 김태한 님이 쓰신 글:
>> 테이블 몇개를 텍스트 파일로 받아두었다가
>>
>> Sybase나 다른 DB에서 load하려고 합니다.
>>
>> 텍스트 파일로 저장할때는 option에서 ASCII로 선택한 다음
>>
>> select * from table_name ># filename.txt의 방법으로 저장했는데,
>>
>> char형의 field값에는 무조건 single quotation이 붙어서 저장되더군요.
>>
>> set option으로 temp_extract_quote값을 바꿔도 사라지진 않네요.
>>
>> 그것까지는 좋은데, 나중에 load 할때에는 quotation이 데이터의
>>
>> 일부로 인식돼서 필드에 들어가버립니다.
>>
>> txt로 저장할때 quotation을 빼는 방법이나
>>
>> load할때 그걸 빼고 집어넣을 수 있는 좋은 방법이 없을까요?
>>
>> 그리고.. 다른 DBMS에서도 그 txt를 load해야될지도 모르는데,
>>
>> 어떠한 형식으로 저장해서 보관하는게 가장 좋을지도
>>
>> 알려주시면 감사하겠습니다.
|