2010-03-26 3 views
1

NAnt 및 NAntContrib의 작업 목록을 검색하고 Google을 검색하는 데 15 분을 소비했지만 빈손으로 나타났습니다.NAnt를 사용하여 데이터베이스를 쿼리하고 결과를 매개 변수 값으로 사용할 수 있습니까?

코드를 홍보 할 때 내 시스템의 모든 사용자에게 전자 메일을 보내려합니다. 내 데이터베이스에 전자 메일 주소 목록이 있으며 작동하는 전자 메일 작업이 있습니다. 그럼 어떻게 둘을 연결할 수 있습니까?

감사합니다. 나는이로 돌아가 시간을 얻을 때 D는


, 나는 텍스트 파일에 결과 (이메일 주소 목록을) 절약 sqlcmd.exe를 통해 선택 성명을 발표 것이라 생각합니다. 그런 다음 텍스트 파일의 내용을 읽고 여기에있는 값을 사용하여 내 이메일 주소를 지정합니다. 해킹처럼 보입니다. 좀 더 우아한 뭔가가 있다고 말해주십시오 ....?

+0

이 글을 읽는 시간이되면 sqlcmd.exe를 통해 select 문을 실행하여 결과 (전자 메일 주소 목록)를 텍스트 파일에 저장합니다. 그런 다음 텍스트 파일의 내용을 읽고 여기에있는 값을 사용하여 내 이메일 주소를 지정합니다. 해킹처럼 보입니다. 좀 더 우아한 뭔가가 있다고 말해주십시오 ....? – Duncan

답변

3
<target name="uat.notify"> 
    <exec program="${sqlcmd.exe}" commandline='-S DB_SERVER -b -o email.txt -Q "set nocount on;use DATABASE;select email_address from dbo.t_users" -h -1' /> 
    <foreach item="Line" in="email.txt" property="email.address"> 
     <if test="${string::get-length(string::trim(email.address)) > 0}" > 
      <mail failonerror="false" 
       from="[email protected]" 
       tolist="${string::trim(email.address)}" 
       format="Html" 
       subject="test:notify" 
       mailhost="MAILHOST" 
      > 
       <files> 
        <include name="notify.htm" /> 
       </files> 
      </mail> 
     </if> 
    </foreach> 
</target> 
+0

이 게시글을위한 건배, 이것은 내가해야 할 일과 매우 유사합니다 :) –

관련 문제