2012-04-17 8 views
1

PERFORCE를 사용하고 있습니다. 일부 유용한 회원 stackoverflow 커뮤니티 필자의 PERFORCE 데이터에 액세스하는 ODBC 데이터 소스를 설정하는 p4reports 프로그램을 찾을 수있었습니다. 내가 필요한 정보를 정확하게 반환하는 쿼리를 만들었습니다 ... . 여기 Perforce는 경로가없는 파일 이름을 시작 부분에 추가합니다.

쿼리입니다 :

SELECT a.file, a.time, a.action, a.revision, a.change, b.description 
FROM files a, changes b 
WHERE a.change = b.change AND ((b.p4options='longdesc')); 

문제는 a.file 열은 다음과 같이 전체 경로와 파일 이름을 반환한다는 것입니다 :

//depot/folder_1/folder_2/.../file_name.txt 

좋아요 것

file_name.txt 

사람이 할 수있는 SQL 쿼리를 알고 있습니까 : 그냥이 같은 파일 이름을 포함하는 열? 이제 파일이 폴더 구조에 얼마나 깊이 중첩되어 있습니까?

다음은 PERFORCE SQL 보고서 기능에 대한 링크입니다. 몇 가지 기본 문자열 함수가 있지만 이러한 함수를 사용하여 항상 올바른 텍스트를 반환 할 수있는 방법을 함께 모으는 데 어려움을 겪고 있습니다.

http://www.perforce.com/perforce/doc.current/manuals/p4report/ab_functions.html#1045728

는 MySQL의에서 나는 이런 식으로 뭔가 할 것 :

SELECT right(a.file,locate("/",reverse(a.file))-1), a.time, a.action, a.revision, a.change, b.description 
FROM files a, changes b 
WHERE a.change = b.change AND ((b.p4options='longdesc')); 

을 그리고 그것은 작동합니다,하지만 지금까지 내가 말할 수있는대로 억지로 SQL에는 reverse 기능이 없다. 어떤 도움이라도 대단히 감사하겠습니다!

감사합니다.

+2

P4Report 및 데이터베이스는 SQL-92을 준수합니다. SQL-92에는 문자열 반전을위한 함수가 없습니다. p4-randall의 제안은 보고서/출력 계층에서 변환을 수행 할 수있는 경우가 아니라면이 경우에 사용할 수있는 방법 일 수 있습니다. – cairnz

답변

3

PERFORCE 데이터를 일반 데이터베이스에 복제하는 P4toDB를 살펴볼 수 있습니다. 그렇게하면 고급 SQL 쿼리를 실행하거나 보고서 엔진을 사용할 수도 있습니다.

http://kb.perforce.com/article/1172/p4todb-readme

+0

PERFORCE 메타 데이터의 변경 사항이 SQL 데이터베이스에 얼마나 신속하게 복제됩니까? 즉, 변경 목록을 제출하면 얼마 후에 변경 사항에 대해 데이터베이스에 쿼리 할 수 ​​있습니까? – Dennis

+0

예. 좋은 질문입니다. 아직 시도하지는 않았지만 여기 제공된 링크는 많은 좋은 정보를 가지고 있습니다. –

+0

먼저 기사를 읽었습니다. 나는 명확한 대답이 없기 때문에 나는 위의 질문을했다. – Dennis

관련 문제