2013-02-15 1 views
2

"mysql"데이터베이스의 "user"테이블에있는 모든 사용자 열을 가져 오는 동안 이상한 응답이 있습니다.테이블 사용자의 JDBC getObject가 오류를 반환합니다. "클래스 (클래스)에 대한 액세스가 금지되었습니다."

Google Cloud SQL을 JDBC 클래스를 사용하여 Google Apps Script에서 액세스하고 있습니다.

function displayingOneUser(){ 

    var connection = Jdbc.getCloudSqlConnection("jdbc:google:rdbms://blablabla/mysql", "root", rootPwd); 

    var mySqlStatement = connection.createStatement(); 

    var resultSet = mySqlStatement.executeQuery("select * from user"); 

    if(resultSet.next()){ 
    var str=""; 
    for(var i=1; i<43; i++){ 
     str=str.concat(resultSet.getObject(i)+" | "); 
     Logger.log("str so far : "+str); 
    } 
    Logger.log("Displaying first user : "+str+"."); 
    } 

    mySqlStatement.close(); 
    connection.close(); 


} 

나는 다음과 같은 오류 얻을 : 여기 내 코드입니다. "금지", "클래스에 액세스"(클래스)가 열 (33) 또는 (34)에 도달하면 (내가하는 일을 기억하지 않는다). getString()을 사용하면 문제없이 작동합니다.

어디에서 왔을 까?

건배,

빅터

+0

Btw, 나는 다른 사용자로 시작하는 것이 무언가를 바꿀 지 여부를 확인하기 위해 처음에 resultSet.next()를 두어 보았습니다. 그렇지 않습니다. 첫 번째 사용자가 열 33 (또는 34)에 액세스하려고 시도 할 때 항상 실패합니다 –

+1

확인하려면 - 스크립트가 "클래스"라고 불평하는 열입니까? –

답변

0

나는이 문제를 재현 할 수 있었다 나는이 참 버그 믿습니다. 이 getObject() 휴식과 그 열의를 읽고 시도 기본 mysql DB

enter image description here

user 테이블에 blob 컬럼과 관련이있다. getString()가 작동합니다.

잘 찾았 으면 Issue Tracker에 버그를 기록하십시오.

해당 열 34, ssl_cipher은 첫 번째 blob 열입니다. 다른 사람들도 깨집니다. 가장 간단한 재현 사례 -

+0

안녕 아룬! 좋아요, 그 말이 많은 의미가 있습니다! 고맙습니다. 나는 문제를 제기 할 것이고, 그 동안 나는 시험 잡기 (catch catch)를 사용할 것이다. –

+0

문제를 http://code.google.com/p/google-apps-script-issues/issues/detail?id=2446&thanks=2446&ts=1361164812 –

+0

에 게시했습니다. 문제 추적기 항목을 추적 할 것이므로이 질문을 닫으십시오. –

관련 문제