Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql Google应用程序脚本-如何在JDBC查询中连接多个数据库_Mysql_Google Apps Script_Jdbc - Fatal编程技术网

Mysql Google应用程序脚本-如何在JDBC查询中连接多个数据库

Mysql Google应用程序脚本-如何在JDBC查询中连接多个数据库,mysql,google-apps-script,jdbc,Mysql,Google Apps Script,Jdbc,是否可以通过GAS查询连接多个数据库?我能够成功地跨表连接数据,但无法确定如何连接数据库 这是我连接表的脚本。我需要添加/更改什么才能将此查询连接到另一个数据库表(数据库位于同一服务器上) var docs=SpreadsheetApp.getActiveSpreadsheet(); var sheet=docs.getSheetByName('sheet1'); var协议=docs.getSheetName(); var siteName=docs.getName(); var conn=

是否可以通过GAS查询连接多个数据库?我能够成功地跨表连接数据,但无法确定如何连接数据库

这是我连接表的脚本。我需要添加/更改什么才能将此查询连接到另一个数据库表(数据库位于同一服务器上)


var docs=SpreadsheetApp.getActiveSpreadsheet();
var sheet=docs.getSheetByName('sheet1');
var协议=docs.getSheetName();
var siteName=docs.getName();
var conn=Jdbc.getConnection('Jdbc:mysql://ip:port/database","foo","bar",;
var stmt=conn.prepareStatement(“从表1中选择a.ex、a.ex2、a.ex3、b.ex1、b.ex2,并在a.ex=b.ex;上连接表2”;
var start=新日期();//获取脚本开始时间
var rs=stmt.executeQuery();
var doc=SpreadsheetApp.getActiveSpreadsheet();
var sheets=docs.getSheetByName('sheet1');
var单元格=sheets.getRange('C1');
var行=0;
var getCount=rs.getMetaData().getColumnCount();
对于(var i=0;i日志。
Logger.log(协议);
Logger.log(rs);
}```

解决方案是在MySQL中创建一个存储过程。您可以在那里链接数据库,创建复杂的查询,然后使用到保存存储过程的数据库的单个连接调用JDBC查询中的过程

这对我有用

相关资料的链接:

开发人员MySQL站点:


MySQL教程:

我想尝试声明两个独立的连接conn1和conn1conn2@Cooper尝试了-问题是在“var stmt=conn.prepareStatement()”区域中声明两个连接。我不知道如何将这两个变量连接到该语句。。。

  var docs = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = docs.getSheetByName('sheet1');
  var protocol = docs.getSheetName();
  var siteName = docs.getName();
  var conn = Jdbc.getConnection('jdbc:mysql://ip:port/database', 'foo', 'bar'); 

var stmt = conn.prepareStatement("select a.ex, a.ex2, a.ex3, b.ex1, b.ex2 from table1 a join table2 b on a.ex = b.ex;"); 

  var start = new Date(); // Get script starting time
  var rs = stmt.executeQuery();
  var doc = SpreadsheetApp.getActiveSpreadsheet(); 
  var sheets = docs.getSheetByName('sheet1');
  var cell = sheets.getRange('C1');
  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)); 
  }  

  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(); // Get script ending time
  Logger.log('Time elapsed: ' + (end.getTime() - start.getTime())); // To generate script log. To view log click on View -> Logs.
  Logger.log(protocol);
  Logger.log(rs);

}```