无法通过谷歌应用程序脚本库使用jdbc连接谷歌云sql

时间:2014-12-04 12:37:11

标签: mysql jdbc google-apps-script google-cloud-sql

我有一个关于jdbc问题的问题,通过谷歌应用程序脚本(气体)。

var aUrl = "jdbc:google:rdbms:[cloud sql instance id]/[dbname]";
var conn = Jdbc.getCloudSqlConnection(aUrl, username, pass);

* [cloud sql instance id] ...用开发者控制台编写。格式就像"无意义的字母:实例名称"。

* [dbname] ... mysql数据库名称。

这个代码在项目所有者执行时运行良好,但是一旦它在创建库之后从另一个用户执行,它就像" 无法连接到数据库。检查连接字符串,用户名,密码(第xx行,文件" foo",项目" CommonLibrary")"

有谁知道为什么?

简化的项目结构如下:

项目" CommonLibrary"包括两个gs文件

DBAccess.gs

function connectionToDatabase()
{
  var aUrl = "jdbc:google:rdbms:[cloud sql instance id]/[dbname]";
  return Jdbc.getCloudSqlConnection(aUrl, username, pass);
}

fooDBAccess.gs

function selectFoo()
{
  var conn = connectionToDatabase();
  var stmt = conn.createStatement();
  var results = stmt.executeQuery('SELECT * FROM foos');
  var foos = [];
  -- do something with results -- 
  results.close();
  stmt.close();

  return foos;
}

项目" bar"包括一个gs文件

* project" CommonLibrary"用" Common"

标识
function plotFoos()
{
  var foos = Common.selectFoo();
}

*上面提到的var foos = Common.selectFoo();出错了。

P.S。

我已经授权了脚本所需的8个OAuth Scope:

https://www.google.com/calendar/feeds
https://www.googleapis.com/auth/documents
https://www.googleapis.com/auth/drive
https://www.googleapis.com/auth/forms
https://www.googleapis.com/auth/script.external_request
https://www.googleapis.com/auth/script.storage
https://www.googleapis.com/auth/spreadsheets
https://www.googleapis.com/auth/sqlservice

然后

  • 该库处于开发者模式。

  • 我部署了" CommonLibrary"作为Web应用程序 (作为项目所有者执行应用程序,xxx.org中的任何人都可以访问该应用程序。)

  • 我曾尝试过一次以下的连接示例,但不起作用。错误说' //'不能用。 https://developers.google.com/apps-script/guides/jdbc

0 个答案:

没有答案