本地Access宏连接GCP SQL Server失败求助:实例定位错误
GCP SQL Server 2019 本地Access VBA连接报错解决方法
核心问题:实例名格式错误
你误将GCP控制台的实例标识horizontal-leaf-391110:europe-west4:brainsql当成了SQL Server的实例名,这是错误的。GCP上的SQL Server为单实例部署,不需要这种格式的后缀,正确的连接目标是公网IP+端口(默认端口1433)。
具体修复步骤
- 修正Server_Name参数:
将原有的xx.xx.xxx.xx\horizontal-leaf-391110:europe-west4:brainsql改为xx.xx.xxx.xx,1433(若你的GCP SQL实例使用默认端口1433);若自定义了端口,替换为对应端口号即可。 - 验证网络授权:
登录GCP控制台,进入目标SQL实例的「连接」页面,确认本地机器的公网IP已添加至「授权网络」列表,允许访问1433端口。 - 检查驱动与验证方式:
确保本地安装了MSOLEDBSQL驱动;同时确认GCP SQL实例启用了SQL Server身份验证,且myUser账号拥有目标数据库TESTDATA的访问权限。
修改后的VBA代码示例
Server_Name = "xx.xx.xxx.xx,1433" Database_Name = "TESTDATA" User_ID = "myUser" Password = "myPassword" With connection .ConnectionString = "Provider=MSOLEDBSQL;Server=" & Server_Name & ";database=" & Database_Name & ";User Id=" _ & User_ID & ";Password=" & Password & ";" .ConnectionTimeout = 10 .Open End With
额外排查点
- 测试本地到GCP IP的1433端口连通性:使用
telnet xx.xx.xxx.xx 1433或PowerShell命令Test-NetConnection xx.xx.xxx.xx -Port 1433确认端口可正常访问。 - 若仍报错,可尝试更换Provider为
SQLOLEDB,但优先推荐MSOLEDBSQL(适配新版SQL Server)。
内容的提问来源于stack exchange,提问作者Eric Gerritz
相关产品推荐
相关产品推荐

