0
다음 코드는 사용자 이름, 암호 및 데이터베이스 인스턴스를 묻는 메시지를 표시하여 배치 파일을 통해 Oracle 데이터베이스에 연결하기위한 코드입니다. 내가 원하는 것은 자격 증명 중 하나라도 유효하지 않으면 cmd 자체에서 빠져 나가는 것입니다. 그렇지 않으면 정상적으로 진행해야합니다.Oracle 데이터베이스 연결시 오류 발생시 cmd에서 종료
@ECHO OFF
:START
set /p U="Enter Username(User ID):"
set /p P="Enter Password([email protected]):
:NEXT
set /p a="Do you want to display details of 1a?(y/n)"
ECHO "%a%"
if "%a%" == "y" sqlplus %U%/%P% @".\AB_1a.sql"
if "%a%" == "n" goto A
set /p id1= "Please enter ID for 1a(press 's' to SKIP):"
if "%id1%" == "s" goto A
sqlplus %U%/%P% @".\AB_.sql" %id1%
goto A
:End
어떤 해결책을 제안하십시오.
다음과 같은 오류가 발생합니다. "현재 예상치 못한 설정입니다."실제로 Oracle 클라이언트 데이터베이스에 액세스 할 수 없어 % actualusername %에 아무 것도 저장할 수 없습니다. 도와주세요. – user1458830
@ user1458830 나는 내 대답을 훨씬 단순하게 바꿨다. 나는 지금 당신이 뭘하려고하는지 이해하고 있다고 생각한다. 또한이 파일이 전체 배치 파일입니까? 나는'A' 라벨을 보지 못했고'End' 라벨은 어디서나 사용 되었습니까? 또한 NEXT 레이블을 사용하는 것을 볼 수 없어서 NEXT 레이블을 대체했습니다. –
지연된 확장으로 전환해야합니다. 특히 'IF'! U! ' == "JoeBloggs" "! P!" == "비공개 입력 또는 특수 문자가 포함 된 입력에 대해 안전하지 않은"goto : CRDSOK " – jeb