읽기 전용 모드에서 파일을 열도록 JMP를 적용하는 방법은 무엇입니까?여러분 모두에게,
에 설명된 것과 같이 추가 기능을 업데이트하는 방법을 사용합니다. https://community.jmp.com/t5/JMP-Scripts/How-to-write-self-updating-JMP-add-ins/ta-p/21932/jump-to/first-unread-message ~에 의해 @제프_퍼킨슨 . "metadata.jmp" 파일이 있습니다. JMP를 시작할 때 열어야 합니다. 많은 사용자가 이 파일을 자동으로 여는 데 몇 가지 문제가 발생했습니다. 어떤 상황에서는 사용자가 해당 파일을 오랫동안(알지 못한 채) 열어 둘 수 있기 때문에 이 파일을 업데이트할 수 없기 때문입니다.
또한 다른 경우(많은 사용자가 공유하는 대용량 데이터 테이블) 읽기 전용 모드로 파일을 여는 것이 좋습니다.
읽기 전용 모드에서 데이터 테이블 등을 열도록 JMP를 강제할 수 있습니까?
자동화 및 스크립팅데이터 혼합 및 정리Re: JMP가 파일을 읽기 전용 모드로 열도록 강제하는 방법은 무엇입니까?많은 제안을 해주셔서 감사합니다. 시도해보고 좋은 해결책을 찾겠습니다.
Re: JMP가 파일을 읽기 전용 모드로 열도록 강제하는 방법은 무엇입니까?@게오르그
응용 프로그램에 대한 몇 가지 가정.
1. 여러 사람이 동시에 메타데이터에 쓰지 않습니다.
2. "내 앱 중 하나의 새 버전이 있습니까?"에 대한 읽기 전용 호출입니다.어디야?"
둘 다 사실이라면 나는 일반적으로 SQLite 데이터베이스를 실제로 사용하고 ODBC 호출을 할 것입니다.당신이 하고 있는 모든 것이 메타 데이터를 검색하는 것이라면 많은 종소리와 휘파람이 필요하다고 말하고 싶지 않습니다.또한 실제로 추가 기능을 데이터베이스에 저장하는 것과 같은 작업을 수행할 수도 있습니다.JMP 테이블은 많은 일에 적합합니다.그러나이 특정 응용 프로그램의 경우 과잉이라고 말하고 싶습니다.새 버전이 나오면 바로 닫아버리겠다는 일회성 전화라면, ....
여전히 쉽게 스크립팅할 수 있습니다.다시 말하지만 여러 사용자가 동시에 작성하는 경우에는 제대로 작동하지 않습니다. 중요한 점은 JMP가 CSV를 열 때 JMP 테이블과 달리 원본 파일을 잠그지 않는다는 것입니다.
Names default to here( 1 );
dt = open("$SAMPLE_DATA\Big Class.jmp");
csv_path = convert file path("$DESKTOP\Big Class.csv");
dt << Save As(csv_path);
close(dt, no save);
dt_csv = open(csv_path);
dt_csv << Add Rows({:name = "Fake", :age = 14, :sex = "F", :height = 14, :weight = 28});
dt_csv:age[1] = 0;
// I can still delete this file even though I have the table open
show(delete file(csv_path));
dt_csv << Save As(csv_path);
나는 일반적으로 여러 권한 수준을 처리하는 것보다 JMP 테이블 기능 없이 갈 것입니다.JMP 스크립트에서 csv를 열면 연결되지 않은 JMP 테이블이 열리기 때문입니다.
Re: JMP가 파일을 읽기 전용 모드로 열도록 강제하는 방법은 무엇입니까?숨김 또는 읽기 전용으로 디스크에 저장 DOS attrib 명령을 실행하는 RunProgram 스니펫이 있습니다. 파일을 읽기 전용으로 표시하거나 플래그를 지울 수 있습니다.
Re: JMP가 파일을 읽기 전용 모드로 열도록 강제하는 방법은 무엇입니까?제안: 추가 기능 관리자 저것 @Justin_Chilton 생성된 방법을 자동화합니다. @제프_퍼킨슨 설명.추가 기능은 사용자가 읽는 연관 배열이 포함된 .jsl 파일을 업데이트합니다.
Re: JMP가 파일을 읽기 전용 모드로 열도록 강제하는 방법은 무엇입니까?@vince_faller 감사합니다. 제 경우에는 jmp 테이블이 선호됩니다. 편집해야 하는 작은 테이블이 있습니다(JMP로).
또 다른 경우에는 많은 사용자가 사용하는 큰 테이블이 있는 경우 변환이 필요하지 않기 때문에 jmp 테이블이 더 나을 것입니다.
또한 jmp 테이블에는 더 많은 기능(스크립트, 데이터 유형 등)이 있으므로 항상 jmp 테이블을 파일 유형으로 선호합니다.
Re: JMP가 파일을 읽기 전용 모드로 열도록 강제하는 방법은 무엇입니까?JMP 테이블을 csv로 만들 수 있습니까?
Re: JMP가 파일을 읽기 전용 모드로 열도록 강제하는 방법은 무엇입니까?@ih 귀하의 아이디어에 감사드립니다. 좋은 작업 솔루션을 찾으려고 노력할 것입니다.
파일 시스템에서 권한을 설정하는 것은 내가 선호하는 간단한 솔루션이지만 자세히 살펴보면(파일은 파일 서버에 있음) 권한을 설정하는 사용자가 많기 때문에 복잡한 것으로 판명되었습니다. 수백 명의 사용자가 파일을 사용하고 있고 그들이 어떤 사용자 아래에서 활동하는지 알지 못하기 때문입니다.
다른 아이디어가 있습니다.
- 파일을 $TEMP에 복사한 다음 열기
Re: JMP가 파일을 읽기 전용 모드로 열도록 강제하는 방법은 무엇입니까?파일을 읽기 전용으로 여는 방법을 잘 모르겠지만(아는 사람이 있으면 알려주세요) 문제를 완화하는 데 도움이 될 수 있는 몇 가지 아이디어는 다음과 같습니다.
- 대부분의 사용자가 해당 파일에 대한 읽기 전용 액세스 권한을 갖도록 파일 권한을 변경하십시오.
- 파일 열기가 필요한 코드 섹션을 짧고 간단하게 만들고 try 블록으로 래핑합니다.파일 작업을 처리하는 try 블록 뒤 또는 catchExpr 섹션에 파일을 닫는 코드를 포함합니다.예를 들어:
try(
//Work with the file here
dt = Open("a file");
values = dt:Column << get values;
dt << Close;
, //This is the catchExpr, it is executed on an error.
//Make sure the file is closed, but don't throw another if it wasn't open.
try( dt << Close );
//Now raise an error.
throw( "Error working with metadata file: " || char( Exception_msg ) );
);
//Or you could close the file in a subsequent try function
try(
//Work with the file here
dt = Open("a file");
values = dt:Column << get values;
);
try( dt << Close );
//Now do any time consuming functions on the data extracted from that file
//show(values);