VB.NET怎么远程连SQL数据库,步骤和注意点分享给你看看
- 问答
- 2025-12-30 12:20:23
- 4
所谓“远程连接”,就是指你的VB.NET程序运行在你的电脑上,但它要去连接另一台在网络上的电脑里安装的SQL Server数据库,这和你连接自己电脑上的数据库(本地数据库)最大的区别就是多了网络环节,所以问题也大多出在网络上。
第一步:准备好连接信息,就像知道朋友家的地址
在你开始写代码之前,你必须从数据库管理员那里或者你自己在服务器上设置好以下信息,缺一不可:
-
服务器地址: 这是最关键的一条,就是那台放数据库的电脑在网络上的位置,它有几种写法:
- IP地址: 最直接,
168.1.100。 - 计算机名:
MYSQLSERVER。 - 域名或动态域名: 如果服务器有公网IP和域名,
sql.mysite.com。 - 端口号: SQL Server默认监听1433端口,如果管理员没改过,你可以不写(系统会用默认的),但如果为了安全改了端口,比如改成5433,就必须明确写上,格式是
IP地址,端口号,168.1.100,5433。
- IP地址: 最直接,
-
数据库名称: 服务器上可能有很多个数据库,你要指定具体连哪一个,
MyCompanyDB。
-
登录方式(身份验证): 怎么证明你有权限登录。
- Windows身份验证: 用你当前登录Windows的账号密码去登录数据库,这种方式最安全,但通常仅限你的程序和数据库在同一局域网内,且数据库设置了对应的Windows账号权限时才好用,对于远程连接,比较少用。
- SQL Server身份验证: 数据库有自己的用户名和密码,比如用户名
sa,密码123456,这是远程连接最常用的方式。
-
用户名和密码: 如果你选择了SQL Server身份验证,这就是必需的。
第二步:在VB.NET项目中写连接代码
VB.NET主要使用 SqlConnection 这个类来连接SQL Server,你需要先导入命名空间 Imports System.Data.SqlClient。

下面是一个最简单的连接示例:
Imports System.Data.SqlClient
Public Class Form1
Private Sub ConnectToDatabase()
' 1. 组装连接字符串,把第一步的信息拼在一起
Dim connectionString As String = "Server=192.168.1.100,1433; Database=MyCompanyDB; User Id=sa; Password=你的密码;"
' 2. 创建一个连接对象
Using conn As New SqlConnection(connectionString)
Try
' 3. 尝试打开连接
conn.Open()
MessageBox.Show("数据库连接成功!")
' 4. 这里可以执行你的SQL命令,比如查询数据...
' Dim cmd As New SqlCommand("SELECT * FROM Users", conn)
' ... (后续操作)
Catch ex As SqlException
' 5. 如果连接失败,捕获异常并显示错误信息
MessageBox.Show("连接失败: " & ex.Message)
End Try
End Using ' 使用 Using 语句会自动关闭连接,即使发生异常也会关,这是好习惯。
End Sub
End Class
第三步(也是最容易出问题的步骤):配置远程SQL Server服务器
光有代码是不够的,服务器那边必须“开门揖客”,很多连不上的情况问题都出在这里,根据微软官方和支持社区的常见解决方案,你需要检查服务器上的以下几点:
-
启用TCP/IP协议: 在SQL Server服务器上,打开“SQL Server配置管理器”,找到“SQL Server网络配置” -> “MSSQLSERVER的协议”,确保 TCP/IP 是“已启用”状态,修改后需要重启SQL Server服务。

-
开启SQL Server身份验证: 默认可能只开了Windows验证,你需要用Windows身份验证先连上服务器的SQL Server Management Studio (SSMS),在服务器属性 -> 安全性里,勾选“SQL Server和Windows身份验证模式”。
-
配置防火墙: 这是最大的“拦路虎”,服务器电脑的防火墙必须允许SQL Server的通信通过。
- 最直接的方法: 在服务器的防火墙高级设置里,添加入站规则,允许1433端口(如果你改了端口,就放行你改的那个端口)的TCP连接。
- 直接允许
sqlservr.exe这个程序(通常在安装目录的MSSQL\Binn下)通过防火墙。
-
检查SQL Server登录账号的权限: 确保你用的那个用户名(如sa)不仅有登录服务器的权限,还有访问你指定数据库的权限,最好在SSMS里检查一下。
-
允许远程连接: 在SSMS中,右键服务器 -> 属性 -> 连接,检查“允许远程连接到此服务器”是否勾选,新版本SQL Server通常默认是开启的,但最好确认一下。
重要的注意点总结:
- 安全第一: 连接字符串里直接写密码是非常不安全的,尤其是不建议使用像sa这样的高权限账户,在实际项目中,应该使用加密的配置文件(如
app.config或web.config)来存储连接字符串,并且使用权限最低的专用数据库账户。 - 异常处理: 网络连接充满不确定性,所以一定要用
Try...Catch块包围Open()方法,并妥善处理异常(比如记录日志、给用户友好提示),不要让程序直接崩溃。 - 资源释放: 数据库连接是宝贵的资源,一定要及时关闭,上面例子中使用的
Using语句是最好的方式,它能确保连接即使在使用过程中出现异常也能被正确关闭。 - 端口问题: 如果连接时超时或者根本不通,首先用
telnet 服务器IP 1433命令在客户端电脑上测试一下端口通不通,如果不通,说明问题肯定出在网络或服务器配置上,而不是你的VB.NET代码。 - 动态IP问题: 如果服务器在家用宽带下,IP地址可能会变化,这就需要使用动态域名服务(DDNS)来解决。
VB.NET本身连接数据库的代码很简单,难点和重点在于对网络和SQL Server服务器本身的正确配置,按照“检查连接信息 -> 编写代码 -> 配置服务器网络和权限 -> 测试”这个流程来,大部分问题都可以解决。
本文由寇乐童于2025-12-30发表在笙亿网络策划,如有疑问,请联系我们。
本文链接:http://www.haoid.cn/wenda/71260.html
