Azure SQL:无法通过Google表格中的JDBC进行连接

时间:2017-11-16 14:54:41

标签: azure jdbc google-sheets azure-sql-database google-sheets-api

尝试从Google表格连接到Azure SQL。

这是我使用的代码:

  var address = 'thedb.database.windows.net';
  var user = 'myuser';
  var userPwd = 'mypassword';
  var db = 'myDB';
  var instanceUrl = 'jdbc:sqlserver://' + address;
  var dbUrl = 'jdbc:sqlserver://' + address + ':1433;DatabaseName='+db;

function createDatabase() {
  var conn = Jdbc.getConnection(instanceUrl, user, userPwd);
  conn.createStatement().execute('CREATE DATABASE Test_table');
}

然而,这不起作用。

我得到的错误如下: Google Sheets Error

Azure已在防火墙规则中配置了Google表格的IP范围: Azure firewall

如他们的文件所示: https://firebase.google.com/docs/reference/rest/database/

然而它不起作用。有什么想法吗?

2 个答案:

答案 0 :(得分:0)

不幸的是,您不能依赖Azure SQL数据库的IP地址,因为IP可以随时更改here

如果您仍然必须使用IP地址连接到Azure SQL数据库,则必须添加整套Azure Datacenter IP Ranges,因为Azure SQL数据库的端点可以位于任何这些IP地址上。

答案 1 :(得分:0)

通过查看Azure门户中的连接字符串,我发现您需要以<user>@<database>的形式编写用户名。因此,在您的情况下,'myuser@myDB'

编辑:

由于我的数据库实例的主机名与我的数据库名称相同,因此它可能是'myuser@thedb'。我不完全确定。但请尝试;)