前提
GASとJDBCを利用してMySQLからデータを取り出したいです。
元データの日付(sikyuu_date)のNULLがJDBCだと0000-00-00となり読み込めません。
調べたところ接続URLに’zeroDateTimeBehavior=convertToNull’を付けると読み込むことができるはずですが、エラーが起こります。サポートされていないという警告ですが、GAS側の問題かJDBC側の問題か調べてもわかりませんでした。
実現したいこと
GASにてMySQLに接続し、0000-00-00を取り出したいです。
(今のソースコードはリストにしているだけですが、スプレッドシートに出力する予定)
発生している問題・エラーメッセージ
Exception: The following connection properties are unsupported: zeroDateTimeBehavior.
該当のソースコード
GAS
1var dbUrl = 'jdbc:mysql://IPアドレス/データベース?user=ユーザー名&password=パスワード&zeroDateTimeBehavior=convertToNull' 2var query = 'SELECT id,seihin_no,uketori_date FROM テーブル名' 3 4 5 6function readRecordsTest() { 7 8 /* JDBCを使って1000件取得 */ 9 var conn = Jdbc.getConnection(dbUrl); 10 var stmt = conn.createStatement(); 11 stmt.setMaxRows(1000); 12 var results = stmt.executeQuery(query); 13 var numCols = results.getMetaData().getColumnCount(); 14 15 const array = []; 16 17 while(results.next()) { 18 const cols = []; 19 for (let col = 0; col < numCols; col++) { 20 const cellData = results.getString(col + 1); 21 cols.push(cellData); 22 } 23 array.push(cols); 24 } 25 26Logger.log(array) 27}
試したこと
zeroDateTimeBehavior=CONVERT_TO_NULLは同じ結果でした。
補足情報(FW/ツールのバージョンなど)
&zeroDateTimeBehavior=convertToNullを除いた状態で動作することは確認済みです。
回答1件
あなたの回答
tips
プレビュー