2013-06-22 1 views
0

JDBC를 통해 Google Cloud SQL 인스턴스에 연결하는 Google Apps Script가 있습니다. 준비된 문장을 사용하고 있으며 NULL 값을 설정하려고 할 때 문제가 발생합니다. 다른 값을 설정하려면 다음을 수행하면됩니다.JDBC 준비 문 사용 setNull() function

preparedStatement.setFloat(3, myFloatVar); 

그러나 setNull()이 작동하지 않습니다. Java 데이터 유형을 인수로 사용한다고 가정합니다.

preparedStatement.setNull(4,"java.sql.Types.DECIMAL"); 
    preparedStatement.setNull(4,java.sql.Types.DECIMAL); <-- This is how you would do it in Java, I believe 
    preparedStatement.setNull(4); 
    preparedStatement.setNull(4,null); 
    preparedStatement.setNull(4,"null"); 

그것은 나에게 "서버, 잠시 후 다시 시도하십시오 발생했습니다 오류"또는 "방법을 찾을 수 없습니다 유사한 무언가를 줄 것이다 중 (클래스 : Docs Link

나는 다음을 시도했습니다) (class) setNull (number, null) "내가 시도한 것에 따라.

그래서 저는 null 대신 0으로 설정하여이 문제를 해결했습니다.하지만 그 옵션을 사용하는 것이 좋습니다.

답변

0

내가 알기로 documentation에서 예상 한 두 번째 매개 변수는 정수입니다. JDBC 서비스에는 Charts 또는 Content 서비스와 같은 다른 서비스와 마찬가지로 옵션을 나열하는 "ENUM"이 있어야합니다.

문제 보고서를 작성하는 것이 좋습니다. Apps Script issue tracker을 열어 의견에 대한 링크를 공유해주십시오.

이제는 적절한 ENUM이 없으므로 다른 정수를 시도해야합니다. 나는 당신이 몇 번의 시도로 운이 좋을 것 같아요. 예 :

preparedStatement.setNull(4, 1); 
//or preparedStatement.setNull(4, 2); //and so on..