You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求VB.NET通过Draytek VPN隧道用OLEDB连接SQL Server的最佳连接字符串

解决VB.NET通过OLEDB连接VPN网络中SQL Server的问题

推荐OLEDB连接字符串

针对跨VPN网络的SQL Server连接,优先使用OLE DB Driver 18 for SQL Server(微软推荐的最新驱动,支持现代加密和兼容性),连接字符串示例:

Dim connectionString As String = "Provider=MSOLEDBSQL;Data Source=目标SQL Server的IP地址,1433;Initial Catalog=你的数据库名;User ID=数据库账号;Password=数据库密码;Encrypt=Optional;"

如果需要兼容旧系统,可使用旧版SQL Native Client(不推荐长期使用):

Dim connectionString As String = "Provider=SQLNCLI11;Data Source=目标SQL Server的IP地址,1433;Initial Catalog=你的数据库名;User ID=数据库账号;Password=数据库密码;"

SSMS可连接但VB.NET失败的排查要点

  1. 目标平台不匹配
    多数Draytek VPN客户端为32位程序,会在64位系统中创建独立的32位网络栈。如果你的VB.NET项目设置为Any CPU,在64位系统下会以64位进程运行,无法访问32位VPN的网络路由。解决方法:

    • 右键项目 → 属性 → 生成 → 目标平台,改为x86。
  2. 防火墙拦截
    Windows防火墙可能拦截VB.NET编译后的EXE程序的网络请求。检查并添加出站规则,允许该EXE访问目标IP的1433端口。

  3. 网络连通性验证
    在VB.NET代码中添加简单的连通性测试(比如使用Ping类),或在命令行执行telnet 目标IP 1433,确认端口是否能正常访问。如果telnet无法连接,说明VPN路由或目标服务器防火墙存在问题。

  4. 驱动版本兼容性
    确保开发机器上安装了对应版本的OLEDB驱动,优先选择微软官方发布的最新稳定版。

内容的提问来源于stack exchange,提问作者Feras Abu Hammad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 06:41:34