我有一个关于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")"
有谁知道为什么?
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;
}
* 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