에게 환경 무시 sqsh이 필요 : 솔라리스 10/석사 SQL 서버달러 기호
에 (TLDR) 문제 얘기 sqsh 및 FreeTDS를를 사용하여 빈/SH 스크립트 : 내가 필요를 sqsh는 달러 기호를 무시하고이를 MS SQL에 전달합니다.
는 배경 : 나는 동적으로 기존 인덱스를 변경하는 SQL을 기반으로하지만 실행시 나는 오류를 얻을 몇 가지 코드를 쓰고 있어요는 :
Msg 2727, Level 11, State 1
Server 'HOST\SERVER', Line 1
Cannot find index 'foo'.
내가 주위를 파고 볼 수는 인덱스가 없음 foo
이라고하지만 은이고 이름은 foo$bar
입니다.
...
% grep 'foo' input.sql
alter index [foo$bar] on ...
... 그리고 새 쿼리 세션을 통해이 SQL 또는 제 3 자 응용 프로그램을 실행이 성공합니다. 그러나 sqsh 통과 결과는 달러 기호 과거 볼 수 없습니다 :이 변수이나 뭐 같은 $bar
해석 제안합니다
% sqsh -e -i input.sql -o output.sql
% grep 'foo' output.sql
1> alter index [foo] on ...
을 ....
누구나 달러 기호를 이스케이프 처리하거나 패스 할 수있는 방법을 아는 사람이 있습니까? 따옴표와 백 슬래시의 다양한 조합을 시도했습니다.
도와주세요, stackoverlow. 너는 내 유일한 희망이야. 5 페이지의 상태에
정확하게이 문서 참조 및 해결책을 찾고 있습니다. 빠른 재 작성과 SQL은 예상대로 실행됩니다. 많이 고마워. –