我尝试了很多方法来修复此错误:
"Failed to establish a database connection. Check connection string, username and password."
代码:
function AcessaVendas () {
var URL = 'jdbc:sqlserver://servername:49159'
var USER = 'visitant'
var PASS = '*******'
var conn = Jdbc.getConnection(URL, USER, PASS);
var stmt = conn.createStatement();
stmt.setMaxRows(10000);
var start = new Date();
var rs = stmt.executeQuery( myquery());
var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Dados");
ss.getRange('a2:h1000').clearContent();
var cell = ss.getRange('a2');
var row = 0;
while (rs.next()) {
for (var col = 0; col < 11; 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()));
}
首先我尝试更改服务器ip的azure服务器名称,然后我尝试添加数据库名称,如
db = "databasename"
URL = 'jdbc:mysql://servername:49159'+'/'+ db;
我还认为,我在sql server management studio中创建的数据库用户可能是问题,因为他有db_datareader角色,但我尝试使用具有db_owner角色的用户,但它也没有用。
我还尝试将每个Google App Server IP白名单范围放在azure服务器的防火墙中(一次一个,或者我是否必须同时放置错误的ip范围?)。
有人能给我一个帮助吗?