如何从数据库中获取数据到谷歌表?

时间:2017-08-18 11:30:05

标签: google-apps-script

当我尝试从数据库中获取数据到谷歌表时它显示以下错误无法建立数据库连接检查连接字符串,用户名和密码(第9行)任何人都可以帮助我解决这个问题。我的代码是这个     function myMySQLFetchData(){

  var conn = Jdbc.getConnection('jdbc:mysql://127.0.0.1/attendance_system', 'root', '');

  var stmt = conn.createStatement();
  var start = new Date();

  var rs = stmt.executeQuery('SELECT * FROM employee GROUP BY 1 LIMIT 1000'); 

  var doc = SpreadsheetApp.getActiveSpreadsheet(); 
  var cell = doc.getRange('a1');
  var row = 0;
  var getCount = rs.getMetaData().getColumnCount(); 

  for (var i = 0; i < getCount; i++){  
     cell.offset(row, i).setValue(rs.getMetaData().getColumnName(i+1)); 
  }  `enter code here`

  var row = 1; 
  while (rs.next()) {
    for (var col = 0; col < rs.getMetaData().getColumnCount(); col++) { 
      cell.offset(row, col).setValue(rs.getString(col + 1)); 
    }
    row++;
  }

  rs.close();
  stmt.close();
  conn.close();
  var end = new Date();
  Logger.log('Time elapsed: ' + (end.getTime() - start.getTime())); 
}

[点击此处查看错误提及的红色图像中的图像] [1]      [1]:https://i.stack.imgur.com/eN95K.png

1 个答案:

答案 0 :(得分:1)

.gs文件中的代码在Google服务器上运行服务器端。您在网址中使用内部IP,因此服务器无法找到数据库。您将需要一个到数据库的外部路径。

此外,您显示没有传递密码。我不想假设你刚刚删除了这个,但希望是这样的。所以我只是在你没有传递密码的情况下提到这个。