如何用JDBC和Google Apps Script连接Azure SQL Database并解决连接报错
解决Apps Script连接Azure SQL Database的连接失败问题
以下是针对连接报错的具体排查和修复方案:
强制启用加密连接
Azure SQL Database默认要求加密连接,你的原连接字符串缺少encrypt=true参数,这大概率是连接失败的核心原因。修改后的连接字符串如下:var conn = Jdbc.getConnection('jdbc:sqlserver://{server}.database.windows.net:1433;databaseName={database};user={username}@{server};password={password};encrypt=true;');补充证书验证参数
如果添加加密参数后仍报错,可配合添加trustServerCertificate=false参数,确保证书验证流程正常:var conn = Jdbc.getConnection('jdbc:sqlserver://{server}.database.windows.net:1433;databaseName={database};user={username}@{server};password={password};encrypt=true;trustServerCertificate=false;');核对用户名格式
确认{username}@{server}中的server部分是Azure SQL服务器的纯前缀(比如服务器全名是myserver.database.windows.net,这里只填myserver),不要带后缀域名。验证防火墙规则有效性
临时将Azure SQL防火墙设置为允许所有IP段(0.0.0.0-255.255.255.255)进行测试,排除防火墙规则配置错误的可能。如果测试成功,再检查导入的Google IP段是否有遗漏或格式错误。延长连接超时时间
网络延迟可能导致连接超时,添加loginTimeout=30参数延长超时阈值:var conn = Jdbc.getConnection('jdbc:sqlserver://{server}.database.windows.net:1433;databaseName={database};user={username}@{server};password={password};encrypt=true;loginTimeout=30;');
内容的提问来源于stack exchange,提问作者mediamgrprog
相关产品推荐
相关产品推荐

