【问题标题】:Connection to a MS SQL database from Google scripts从 Google 脚本连接到 MS SQL 数据库
【发布时间】:2016-07-07 23:26:59
【问题描述】:

我正在尝试使用 JDBC 服务https://developers.google.com/apps-script/guides/jdbc 使用谷歌脚本连接到 MS SQL 数据库 (2012)

我在连接时遇到问题并不断收到消息 '建立数据库连接失败。检查连接字符串、用户名和密码。 (第 4 行,文件“代码”)'

我已经设置了端口并按照上面网站的说明进行操作。这是我正在使用的以下语句:

var conn = Jdbc.getConnection("jdbc:sqlserver://<ip>:<port>;databaseName=<db name>;user=<user>;password=<password>");

有没有人觉得有什么不对。我一直在阅读有关需要在 MS SQL 服务器上安装 JDBC 驱动程序的信息,我是否需要以某种方式在脚本中调用它?

【问题讨论】:

  • 你发现了吗?我遇到了同样的问题。你安装了什么驱动?

标签: sql-server database jdbc google-apps-script database-connection


【解决方案1】:

我想通了。不需要司机。我上面的内容是正确的。在 MS SQL 服务器上,我将 sql 用户名和密码设置为“下次登录时更改”。所以我取消了这个。确保您的防火墙和端口设置正确。

检查服务器上的事件日志。这就是我发现它正在连接并且是用户名/密码问题的方式。

【讨论】:

  • 谢谢,我认为我的防火墙设置错误,而且我没有管理员权限,所以需要通过我的 IT 部门
【解决方案2】:

我遇到了同样的错误,但在执行以下操作后现在解决了:

var conn = Jdbc.getConnection("jdbc:sqlserver://hostname:1433;databaseName={dbname};user={user@hostname};password={passowrd@hostname};");

并在防火墙上将以下 ip 列入白名单:

64.18.0.0 - 64.18.15.255 64.233.160.0 - 64.233.191.255 66.102.0.0 - 66.102.15.255 66.249.80.0 - 66.249.95.255 72.14.192.0 - 72.14.255.255 74.125.0.0 - 74.125.255.255 173.194.0.0 - 173.194.255.255 207.126.144.0 - 207.126.159.255 209.85.128.0 - 209.85.255.255 216.239 .32.0 - 216.239.63.255

【讨论】:

    【解决方案3】:

    Google Scripts 和 Azure SQL Server 为我工作:

    var conn = Jdbc.getConnection('jdbc:sqlserver://your-server.database.windows.net:1433;databaseName=your-db-name ;user=username@your-catalog;password=yourpassword;'); 记录器.log(conn);

    所以您必须从 Azure 获取 JSBC 连接字符串并替换该字符串的一部分:而不是: ...1433;数据库=... 在谷歌脚本中你应该有: ...1433;数据库名称=

    your-catalog 对我来说与 your-server.database.windows.net

    相同

    【讨论】:

    • 如果您想从任何地方公开访问您的数据库,只需执行范围 0.0.0.0 - 255.255.255.255 但不要忘记将其更改为适当的白名单,包括 Google 指定的范围 @987654321 @
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-02
    • 2022-11-23
    • 2016-12-07
    • 2016-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多