AppMaker可以与SQL Server一起使用吗

时间:2019-03-18 11:38:38

标签: sql-server google-app-maker

我了解AppMaker可以与PostgreSQL和MySQL一起使用,但是文档说您可以使用自己的数据源。这有点模棱两可,我想专门找出是否可以使用现有的SQL Server数据库。我已经与Google的支持团队进行了交谈,但他们无法回答,并指示我在此处提出问题。在此先感谢:-)

1 个答案:

答案 0 :(得分:1)

是的,但快速的答案是Cloud SQL更容易且效果更好。

长答案:

App Maker确实使用REST和JDBC支持SQL,但是比使用他们自己的CloudSQL模型要困难得多。我上次使用它时的一些JDBC代码:

function get_data() {
  var queryStr = 'SELECT * FROM users'; //SQL query
  var calcRecords = []; //empty array to put records into
  var connection = Jdbc.getConnection(dbUrl, user, userPwd); //connect to database
  var statement = connection.prepareStatement(queryStr); //prepared statement
  var results = statement.executeQuery(); //execute prepared query
  try {
    while (results.next()) {
      var calcRecord = app.models.test.newRecord();
      calcRecord.id = results.getInt(1); //data source test row id
      calcRecord.user = results.getString(2); //data source test row user
      calcRecord.passwd = results.getString(3); //data source test row passwd
      calcRecords.push(calcRecord); //append to 2D array
    }
    results.close(); //close the results
    statement.close(); //close the connection
  } catch (err) {
    console.error('SQL query failed: ' + err);
  }
  return calcRecords;
}

等效的Google Cloud SQL:

function get_users(){
  var ds=app.datasource.Users.Items;
  var data = [];
  for(var i = 0; i < Items.length; i++){
    tmp = [];
    tmp.push(Items[i].id); //the id
    tmp.push(Items[i].user); //the username
    tmp.push(Items[i].password); //the password
    data.push(tmp); //push to create 2D array
  }
  return data;
}

执行查询要困难一些,并且需要服务器代码(因此需要异步回调),但是填充诸如下拉列表和实现表之类的小部件要容易得多,通常只需单击几下即可,而不是很多代码。