데이터베이스에 대한 ssh 터널.SSH 터널을 사용하여 데이터베이스에 액세스하는 스크립트를 작성하려고합니다. 나는 그것을 작동시킬 수 없다. 다른 사람이 전에 이것을 시도 했습니까?
나는 이미 내 ssh 키를 설정했고 열린 데이터베이스를 실행할 수 있으며 스크립트와 별도의 cmd 창에서 ssh 명령을 실행하면 반환 할 수 있지만 모든 것을 JSL에 통합 할 수 있으면 좋을 것입니다 (사용자 터널을 열 필요가 없습니다).
Names default to here(1);
rp = Run Program(
executable("ssh.exe"),
Options({"-tt", "-L 1414:localhost:1414", "test@test.com"}),
ReadFunction( "text" )
);
dt = open database(
"cxn_string",
"SELECT * FROM Test",
"Test"
);
rp << Write EOF();
미리 감사드립니다.
재 : ssh 터널을 데이터베이스로.RunProgram이 영원히 대기하고 ssh.exe에서 모든 출력을 얻으려고한다고 생각합니다.
ReadFunction ( "text")은 프로그램이 끝날 때까지 RunProgram이 차단 한 다음 프로그램에서 생성 한 텍스트를 반환합니다 (예제에는 없음).
이것은 차단되지 않으며 출력을 로그에 복사합니다.
ReadFunction(
Function( {this},
write(this << read);
)
)그것이 작동한다면, rp (원본 예제에서)는 반환 된 텍스트가 아닌 실행 프로그램 객체입니다.
https://community.jmp.com/t5/Uncharted/JSL-to-Control-Raspberry-Camera/ba-p/226243 plink.exe를 사용하는데, 아마도 ssh.exe와 같습니다. 나는 사용해야했다
rp <SPAN class="token operator"><</SPAN><SPAN class="token operator"><</SPAN><SPAN class="token messages"> Write</SPAN><SPAN class="token punctuation">(</SPAN> <SPAN class="token string">"exit\!n"</SPAN> <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">;</SPAN>
깨끗한 분리를 얻는 것; rp << writeeof가 작동해야하지만 성공하지 못했다고 생각했습니다.
재 : ssh 터널을 데이터베이스로.D' ah. 생각 했어야 했어 감사.