【发布时间】:2015-12-22 08:39:35
【问题描述】:
我有一个带有 Microsoft Azure 的 SQL 数据库,我想将我的 Google 应用脚本连接到该数据库以查看或更改数据。到目前为止,我已经成功地将 JDBC 连接与工作表脚本一起使用,但是当我在站点脚本上运行相同的脚本时遇到了问题。我尝试将其写入“Code.gs”文件,然后使用“google.script.run”在我的 HTML 文件中调用它。我已经尝试将它编写为 HTML 文件本身中的 javascript 函数,但仍然没有 bueno。好像有一个库丢失或参考不在站点中,如在工作表中。有任何想法吗?这是供审查的代码:
// Gets data from the external database
// Same function used in both sheets and sites
function getStores() {
conn = Jdbc.getConnection("jdbc:sqlserver://azureDB.database.windows.net:1433;databaseName=dbName",
"userName", "password");
var stmt = conn.createStatement();
var result = stmt.executeQuery("select something from somethingElse");
var resArray = result.getArray(1);
return resArray;
}
// Loads the collected data into the <option> elements of a <select> element
// Currently throws 'Uncaught ReferenceError: Jdbc is not defined' in Chrome Console
function loadStores() {
var resArray = getStores();
var eleSelectElement = document.getElementById('SelectElement');
var i;
for (i = 0; i < retArray.length; i++)
{
var option = document.createElement('option');
option.text = 'Value: ' + resArray [i];
option.value = resArray [i];
eleSelectElement.add(option);
}
}
// Loads the collected data into the first column of the spreadsheet
// Works as expected
function loadSheet() {
var resArray = getStores();
var doc = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/UID/edit');
var cell = doc.getRange('a1');
for (var i = 0; i < resArray.length; i++)
cell.offset(i,0).setValue(resArray[i]);
}
【问题讨论】:
标签: jdbc google-apps-script google-sites