要让其他用户通过 Excel 使用 ODBC 连接到 SQL Server 获取数据,你需要完成以下配置步骤:
✅ 一、在 SQL Server 端配置(服务器设置)
1. 启用 TCP/IP 协议
- 打开 "SQL Server 配置管理器"。
- 导航到:
SQL Server 网络配置
→Protocols for MSSQLSERVER
(或你的实例名)。 - 确保 TCP/IP 为 已启用。
2. 配置 SQL Server 身份验证方式为"混合模式"
- 打开 SSMS,连接服务器。
- 右键点击服务器 → 属性 → 安全性。
- 选择:
SQL Server 和 Windows 身份验证模式(混合模式)
。 - 重启 SQL Server 服务。
3. 添加 SQL Server 登录账户
sql
-- 创建一个登录用户
CREATE LOGIN testuser WITH PASSWORD = 'StrongPassword123!';
-- 在具体数据库中创建用户并授权
USE YourDatabaseName;
CREATE USER testuser FOR LOGIN testuser;
ALTER ROLE db_datareader ADD MEMBER testuser; -- 只读权限
✅ 二、防火墙设置
确保 SQL Server 所在服务器允许外部访问其端口(默认端口是 1433
):
- 开放防火墙端口 1433(TCP)
- 可通过命令添加(Windows):
powershell
netsh advfirewall firewall add rule name="SQL Server" dir=in action=allow protocol=TCP localport=1433
✅ 三、客户端配置(在用户的电脑上设置 ODBC)
1. 打开 ODBC 管理器:
- Windows 搜索
ODBC
,打开ODBC 数据源(32位或64位)
。
2. 添加新数据源(DSN):
-
选择
SQL Server
或ODBC Driver for SQL Server
。 -
配置连接信息:
- 服务器名称 :输入 IP 地址或主机名(如:
192.168.1.10
或sql.myserver.com
)。 - 登录方式 :选择 SQL Server 身份验证,输入
testuser
和密码。 - 数据库:选择或输入你想访问的数据库名称。
- 服务器名称 :输入 IP 地址或主机名(如:
3. 测试连接 → 成功 → 保存 DSN 名。
✅ 四、在 Excel 中使用 ODBC 获取数据
- 打开 Excel。
- 点击:
数据
→获取数据
→自其他源
→来自 ODBC
。 - 选择刚刚配置的 DSN。
- 登录后,选择数据库中的表或视图 → 导入。
✅ 可选:为多个用户部署统一配置
- 将 DSN 信息打包为
.dsn
文件,复制到用户电脑。 - 用 VBA 或脚本实现 Excel 自动刷新。
🛡️ 安全建议
- 使用强密码。
- 只给用户授予
db_datareader
权限,避免写操作。 - 可通过视图限制他们访问的数据范围。