来自 Google App Script 的 JDBC/mysql 连接字符串问题

Posted

技术标签:

【中文标题】来自 Google App Script 的 JDBC/mysql 连接字符串问题【英文标题】:JDBC/mysql Connection string issues from Google App Script 【发布时间】:2017-09-01 17:04:23 【问题描述】:

我有以下代码用于从 Google 应用脚本连接到 mysql 服务器。它在移动服务器之前工作。现在,即使我输入了新信息(地址、姓名、密码),它也不再起作用。我收到的错误“无法建立数据库连接。检查连接字符串、用户名和密码。”我不熟悉服务器,需要弄清楚如何解决这个问题。我有 Putty,但对它不熟悉 - 我试过了,但它仍然无法连接。我在下面包含了我的净化连接代码。

var address = //'address:port';
var user = //'username';
var userPwd = //'password';
var db = //'databasename';
var dbUrl = 'jdbc:mysql://' + address + '/' + db;

function testsql()  
  var conn=Jdbc.getConnection(dbUrl,user,userPwd);

  var stmt = conn.prepareStatement("show databases"); 
  var dbList = stmt.executeQuery(); 
  dbList.next(); var row = 0; 
  Logger.log("Start of Log:"); 
  while(dbList.next()) 
    Logger.log(dbList.getString(1)); row++; 
   

如果代码格式正确,还有其他方法可以测试连接字符串吗?

我确实找到了这个问题,但我不是 100% 的问题。 Google Apps Script JDBC connection problem

感谢您的帮助!

【问题讨论】:

【参考方案1】:

另一种可能性

您的代码在我看来没问题。但是如果你想尝试一些不同的东西,这个也会创建一个对话框来显示所有的数据。你欢迎它。我可以告诉你,我的网站上有一个我永远无法访问的数据库,但我搬到了朋友的网站并直接进入。我认为第一个网站可能会阻止谷歌的 IP 地址以阻止所有网络爬虫.

function returnAQuery(q)

  var s = '';
  var address = //'address:port';
  var user = //'username';
  var userPwd = //'password';
  var db = //'databasename';
  var dbUrl = 'jdbc:mysql://' + address + '/' + db;
  s += dbUrl + ', ' + user + ', ' + userPwd + '<br />';
  s += q + '<br />';
  var conn = Jdbc.getConnection(dbUrl, user, userPwd);
  var stmt = conn.createStatement();
  var results = stmt.executeQuery(q);
  if(results)
  
    var numCols = results.getMetaData().getColumnCount();
    for(var col = 0;col < numCols;col++)
    
      if(col>0)s+=' , ';
      s += results.getMetaData().getColumnName(col + 1);
    
    s += '<br />';
    while (results.next()) 
    
      var rowString = '';
      for (var col = 0; col < numCols; col++) 
      
        if(col>0)s+= ' , ';
        s += results.getString(col + 1);
      
      s += '<br />';
    
   var ui=htmlService.createHtmlOutput(s).setWidth(1200).setHeight(450);
   SpreadsheetApp.getUi().showModelessDialog(ui, 'JDBC');
  
  else
  
    s += 'No results returned from query';
  

【讨论】:

以上是关于来自 Google App Script 的 JDBC/mysql 连接字符串问题的主要内容,如果未能解决你的问题,请参考以下文章

来自 Google Script 的 API 的 JSONRpcClient 调用

php [appscript api] google app script api

如何从 Google OAuth 2.0 Playground 运行 Google App Script 功能 |调用者没有权限

在Google App Script中使用导入的模块

Google App Script Deploy as Web App 卡在 Fetching Data

如何收听Telegram Bot错误? (Google App Script + Webhooks)