首页 > 解决方案 > 在 G Suite 中使用 JDBC 将 Apps 脚本连接到 SQL Server

问题描述

我正在尝试从 Google Apps Script (Sheets) 建立与 MS SQL Server 的最基本 JDBC 连接,以读取简单数据。我在企业 G Suite 环境中工作,所以就 IP 而言,没有什么是外部的。我在网上没有找到太多关于在 G Suite 环境中执行此操作的信息,其中实际的企业服务器 IP 可能不在需要列入白名单的范围内。

var connectionString = 'jdbc:sqlserver://myServerName:1433/myDatabaseName;';

var conn = Jdbc.getConnection(connectionString,'myUsername', 'myPassword');

我上getConnection线的错误是:

异常:无法建立数据库连接。检查连接字符串、用户名和密码。

我已经验证我可以在正确的端口上 ping 服务器。但我怀疑这是一个有争议的问题,因为连接请求来自 G Suite 服务器而不是我的机器。

我正在尝试获取 SQL Server 审核权限,以便查看 SQL Server 上任何失败的登录。

最终,我还需要对 Oracle 服务器做同样的事情。我使用 Oracle 凭据和稍有不同的连接字符串运行了相同的测试,导致完全相同的错误。

标签: sql-serverjdbcgoogle-apps-scriptgoogle-workspace

解决方案


如果您在这种情况下连接到外部数据库、MSSQL (Microsoft SQL) 或 Oracle,则需要在数据库设置中将以下 IP 地址范围列入白名单,以便 Apps Script 的 JDBC 连接器访问它:

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

不管你有没有 GSuite 企业账户,你要连接的数据库是外部的。

见官方文档


推荐阅读