2009-06-30 2 views

답변

7

:

:

<sql ... print="yes" output="temp.properties" 
     expandProperties="true" showheaders="false" showtrailers="false" > 
     <![CDATA[ 
     select 'current.sp.version=' || NAME from SERVICE_PACK; 
     select 'current.major.version=' || NAME from VERSION; 
     ]]> 
</sql> 

을 다음과 같이

는 SQL 작업은 생성 된 속성이 포함됩니다 파일이라고합니다

current.sp.version=03 

current.major.version=5 

그럼 그냥 특성 파일을로드 및 삭제 :

<property file="temp.properties" /> 
<delete file="temp.properties" /> 

<echo message="Current service pack version: ${current.sp.version}" /> 
<echo message="Current major version: ${current.major.version}" /> 

이 작업은 모든 것이 개미 스크립트에 있습니다 (세계에서 가장 예쁜 것은 아니지만!). 나는과 같이 쿼리를 수정했습니다 사용자 -

+0

안녕하세요! 'select 'deployment_instruction ='Patch_spd의 deployment_instruction 여기서 patch_name = '$ {patch_name}'은 위 쿼리에서 실행 중이지만 내 속성 파일에서는 인쇄 만 돕고 있습니다. 'deployment_instruction ='아무것도 – picnic4u

+0

올바른 결과를 산출하는지 확인하십시오. – zakvdm

2

아마 여기에 Ant exec 작업이 더 유용할까요? 독립 실행 형을 실행하고 outputproperty을 통해 속성에서 결과를 가져올 수 있습니다. 불행히도 SQL을 독립 실행 형으로 실행해야합니다.

또는 Ant SQL 작업의 코드를보고 outputproperty을 수락하도록 수정할 필요가 있습니까? 약간의 고통이 들리지만, 더 직접적인 것을 찾을 수 없다면 아주 간단한 수정 일 수 있다고 생각합니다. 내가 파일을 생성, 내가 결국 다음과 같은 솔루션으로 갔다하지 선호하는 것이지만

+0

제안에 감사드립니다. Brian. 나는 개미 스크립트 밖에서 너무 많은 일을하는 것에 조금 지쳤다. 그래서 나는 내 대답에 설명 된 접근 방식으로 갈 것이다. – zakvdm

+0

피드백 용 Thx입니다. 귀하의 요구 사항에 가장 실용적인 솔루션 같음 –

0

MySQL은 다음 CONCAT 기능없이

SELECT CONCAT('mytable.id=', CAST(ID as CHAR)) from mytable 

, 나는 그냥 등록 정보 파일에 (내 ID를 나타내는) 텍스트 "1"을 얻었다. 또한 CAST는 MySQL 시스템에서 필요하며, 그렇지 않으면 연결 필드가 BLOB로 리턴됩니다.

관련 문제