sql-server - 将 Google App Script 连接到 Azure 上的 SQL Server (DBaaS)

标签 sql-server google-apps-script google-sheets azure-sql-database google-docs

我正在尝试使用 Google App Script 将 Google 表格连接到托管在 Azure (DBaaS) 上的 SQL Server 实例。尽管我多次尝试修改代码,但我不断收到一条错误消息,指出我的连接字符串无效。我可以从我的本地计算机使用 Microsoft SQL Server Management Studio 和 HeidiSQL 连接到 Azure 上的这个 SQL Server 实例。请注意,我已将每个 IPp 地址(0.0.0.0 到 255.255.255.255)列入白名单,以确保这不是阻止我连接的防火墙问题。

    //var conn = Jdbc.getConnection('jdbc:sqlserver:MyDBName.database.windows.net:1433/MyDBName', 'MyDBUserName', 'MyDBPassword');

  // SECOND ITERATION OF CONNECTION STRING
  //var conn = Jdbc.getConnection('jdbc:sqlserver://MyDBName.database.windows.net:1433;'+ 'databaseName=MyDBName;user=MyDBUserName;password=MyDBPassword;');

  // THIRD ITERATION OF CONNECTION STRING
  //var conn = Jdbc.getConnection('jdbc:sqlserver://MyDBName.database.windows.net/MyDBName:1433', 'MyDBUserName', 'MyDBPassword');

  // FOURTH ITERATION OF CONNECTION STRING
  //var conn = Jdbc.getConnection('MyDBName.database.windows.net','MyDBUserName', 'MyDBPassword');

  // FIFTH ITERATION OF CONNECTION STRING
  //var conn = Jdbc.getConnection('jdbc:sqlserver://MyDBName.database.windows.net', {user:'MyDBUserName', password:'MyDBPassword'});

  // SIXTH ITERATION OF CONNECTION STRING
  //var conn = Jdbc.getConnection('MyDBName.database.windows.net', {user:'MyDBUserName', password:'MyDBPassword'});  

  // SEVENTH ITERATION OF CONNECTION STRING
  //var conn = Jdbc.getConnection('jdbc:sqlserver://MyDBName.database.windows.net:1433/MyDBName', {user:'MyDBUserName', password:'MyDBPassword'});  

  // EIGHT ITERATION OF CONNECTION STRING
  //https://developers.google.com/apps-script/reference/jdbc/jdbc
  //var conn = Jdbc.getConnection('jdbc:sqlserver://MyDBName.database.windows.net/MyDBName:1433', {user:'MyDBUserName', password:'MyDBPassword'});    

  // NINTH ITERATION OF CONNECTION STRING  - Now I'm just throwing anything at the wall and seeing what sticks!
  //var conn = Jdbc.getConnection('jdbc:sqlserver://MyDBName.database.windows.net/MyDBName;user=MyDBUserName;password=MyDBPassword');

  // TENTH ITERATION OF CONNECTION STRING
  //var conn = Jdbc.getConnection('jdbc:mysql://MyDBName.database.windows.net/MyDBName:1433', {user:'MyDBUserName', password:'MyDBPassword'});    

  // ELEVENTH ITERATION OF CONNECTION STRING
  //var conn = Jdbc.getConnection('jdbc:sqlserver://MyDBName.database.windows.net:1433;databaseName=MyDBName','MyDBUserName','MyDBPassword');

  //TWELVTH
  //var conn = jdbc:sqlserver://MyDBName.database.windows.net;database=MyDBName;user=MyDBUserName;password=MyDBPassword;

  // THIRTEENTH
  //var conn = Jdbc.getConnection('jdbc:sqlserver://MyDBName.database.windows.net;user=MyDBUserName;password=MyDBPassword;databaseName=MyDBName;');

  // FOURTEENTH 
  //var conn = Jdbc.getConnection("jdbc:sqlserver//MyDBName.database.windows.net:1433;databaseName=MyDBName;user=MyDBUserName;password=MyDBPassword");

  // FIFTEENTH
  //var conn = Jdbc.getConnection("jdbc:sqlserver://MyDBName.database.windows.net:1433;databaseName=MyDBName","MyDBUserName","MyDBPassword");

  // SIXTEENTH
  //  http://stackoverflow.com/questions/18978380/error-when-connecting-to-mssql-server-with-google-apps-script-via-jdbc?rq=1
  //var conn = Jdbc.getConnection("jdbc:sqlserver://NumericalIPAddress:1433;" + "databaseName=MyDBName;user=MyDBUserName;password=MyDBPassword;");

  // SEVENTEENTH
  //  same as above with one less semicolon
  //var conn = Jdbc.getConnection("jdbc:sqlserver://NumericalIPAddress:1433;" + "databaseName=MyDBName;user=MyDBUserName;password=MyDBPassword");

  //EIGHTEENTH
  // http://stackoverflow.com/questions/15440939/querying-sql-server-with-google-apps-script-via-jdbc
  var conn = Jdbc.getConnection("jdbc:sqlserver://MyDBName.database.windows.net:1433;databaseName=MyDBName","MyDBUserName","MyDBPassword");

最佳答案

您可以在门户中找到应该用于数据库的确切连接字符串。单击当前门户 (https://manage.windowsazure.com) 中的数据库,您应该会在下面看到一个“连接到您的数据库”部分,其中有一个链接显示“查看 ADO .Net、ODBC、PHP 的 SQL 数据库连接字符串,和 JDBC。

或者,如果您使用的是新版 Azure 门户 (https://portal.azure.com),您可以通过浏览所有 > SQL 数据库 > MyDBName > 显示数据库连接字符串找到连接字符串。

它为我提供的示例如下所示: jdbc:sqlserver://server21.database.windows.net:1433;database=Test;user=myuser@server21;password={your_password_here};encrypt=true;hostNameInCertificate=*.database.windows.net;loginTimeout=30;

关于sql-server - 将 Google App Script 连接到 Azure 上的 SQL Server (DBaaS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30971835/

相关文章:

javascript - Google Data Studio 连接器中的 UrlFetchApp 异常

javascript - 如何从 A1Notation 获取行值和列值

java - Eclipse 中的 Google Web 工具包

google-apps-script - 用于添加和编辑/更新 Gmail 联系人的 Google 电子表格

sql-server - 删除查询在 SQL Server 中不起作用

sql - table 上每小时的组数

sql-server - 如何将 'available databases' 设置为您正在使用的默认值?

SQL Server 问题更新多条记录

google-sheets - 将两个单元格合并为一个新单元格,将所有空格替换为破折号和小写字母

google-sheets - Google 表格 - 使用日期范围作为标准的 SUMIFS 显示错误的值