Oracle Forms10g는 Oracle Forms Builder가 함께 작동하는 바이너리 형식 (.FMB)에서 Oracle Forms 모듈을 텍스트 형식 (.FMT)으로 변환하는 도구를 제공합니다.Oracle Forms .FMT 파일에서 PL/SQL 코드를 읽는 방법은 무엇입니까?
는 오라클 양식이 유틸리티는 인 MyModule라는 이름의 파일이 만들어집니다 변환 예를 들어, 오라클과 mymodule.fmb라는 모듈을 만들 경우 빌더 양식, 다음 명령 줄에서
frmcmp module=mymodule.fmb script=yes batch=yes logon=no
를 호출 .fmtmymodule.fmb. 이 텍스트 파일은 코드화 된 트리거 및 프로그램 단위의 PL/SQL 코드를 제외하고는 사람이 읽을 수 있어야합니다.
예를 들어,이
DEFINE F50P
BEGIN
PP = 10
PI = 3
PN = 464
PL = 1138
PV = (BLONG)
<<"
00000049 00800000 00440000 00000000 00000031 0000000d 00000002 a0011519
00002420 0000045e 001f0000 00165030 5f32335f 4f43545f 32303038 31365f33
375f3039 00000006 42454749 4e0a0000 0042676f 5f626c6f 636b2820 27504149
53455327 20293b0a 69662066 6f726d5f 73756363 65737320 7468656e 0a096578
65637574 655f7175 6572793b 0a656e64 2069663b 00000005 0a454e44 3b000000
1d574845 4e2d4e45 572d464f 524d2d49 4e535441 4e434520 28466f72 6d290000
혹시 PL을 추출 할 수있는 파일의 종류를 디코딩하는 시도 해 봤나 성문화 PL/SQL 코드의 덩어리와 .FMT 파일의 조각입니다/양식의 SQL 코드?
Oracle Forms Builder를 사용하여 수동으로 해당 .FMB 파일을 각각 열지 않고 많은 .FMT 파일의 PL/SQL 코드에서 문자열을 검색 할 수 있으면 매우 유용합니다. 각각의 문자열.
감사합니다.
위로 돌아 가기 Forms 4.5로 돌아 가기 ("Developer 2000"이 멋진 미래형 이름이었을 때) PL/SQL 코드는 FMT 파일의 텍스트 였으므로 코드를 검색 할 수있었습니다. 실제로 FMB 파일에서도 찾을 수있었습니다. 오라클이 고의적으로 그것을 모호하게 만들었나? – hamishmcn
내가 틀 렸습니다. 바이트는 문자의 16 진수 값입니다 (아래 내 게시물 참조). – hamishmcn
당신이하는 일이 모두 텍스트 검색이라면, 바이너리 파일을 grep 할 수 있어야합니다. 나는 python과 regex를 사용하여 주어진 저장 프로 시저가 어떤 양식에 영향을 주는지 항상 발견합니다. – kurosch