2012-10-07 5 views
3

을 오라클 테이블에 저장 아래에 확인하는 내 코드의 경우가 전자 메일 메시지이메일 첨부 파일을 얻고 Google 앱 스크립트 나 이메일 첨부 파일을 검색하는 구글 애플리케이션 스크립트를 사용하려고

function testMail() { 
var threads = GmailApp.getInboxThreads(); 
for (var i = 0; i < 10; i++) { 
    var mess=threads[i].getMessages()[0]; 
    if (mess.getAttachments().length>0) 
    { 
    //var filename=mess.getAttachments()[0]. 
    Logger.log(mess.getSubject()); 
    Logger.log(mess.getAttachments()[0].getName()); 
    var conn = Jdbc.getConnection("jdbc:oracle:thin:@xxx.xxx.xxx.xxx/xxx.xxx.xxx", "xxx","xxxxxxx"); 
    conn.setAutoCommit(false); 
    var stmt = conn.prepareStatement("insert into blob_table (filnname,blob_field) values (?,?)"); 
    stmt.setString(1, mess.getAttachments()[0].getName()); 

    stmt.setBlob(2, mess.getAttachments()[0]); 
    var res = stmt.execute(); 
    conn.commit(); 
    conn.close();  

    break; 
    } 
} 
} 

에서 첨부 파일 하지만 스크립트를 실행할 때 "setBlob 프롬프트에서 메소드를 찾을 수 없습니다"라는 오류 메시지가 나타나면 필드 파일 이름 만 삽입하면 테이블 blob_table에 데이터를 저장할 수 있으며 blob을 삽입하는 특별한 방법이 있습니까? 당신이 자동 완성 또는 문서를 보면

감사

+0

HI에서 가져온 것입니다, 내가 발견 Blob 필드에 첨부 파일을 삽입하는 방법 – pjsiong

답변

0

당신은 JDBC는, 애플리케이션 스크립트의 나머지 부분과는 달리, BLOB 동일하지 않은 JdbcBlob의 자신의 개념을 가지고 있음을 볼 수 있습니다. (모든 JdbcBlob는 물방울입니다하지만 그 반대의 경우도 마찬가지입니다.) 당신은이 같은 JDBC의 덩어리로 정기적으로 물방울을 설정할 수 있습니다 :

conn.createBlob().setBytes(0, myOriginalBlob) 

이 경우 myOriginalBlob 당신이 mess.getAttachments()[0])

관련 문제