如何配置一个sql server使得其它用户可以通过excel odbc获取数据

要让其他用户通过 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 ServerODBC Driver for SQL Server

  • 配置连接信息:

    • 服务器名称 :输入 IP 地址或主机名(如:192.168.1.10sql.myserver.com)。
    • 登录方式 :选择 SQL Server 身份验证,输入 testuser 和密码。
    • 数据库:选择或输入你想访问的数据库名称。

3. 测试连接 → 成功 → 保存 DSN 名。


✅ 四、在 Excel 中使用 ODBC 获取数据

  1. 打开 Excel。
  2. 点击:数据获取数据自其他源来自 ODBC
  3. 选择刚刚配置的 DSN。
  4. 登录后,选择数据库中的表或视图 → 导入。

✅ 可选:为多个用户部署统一配置

  • 将 DSN 信息打包为 .dsn 文件,复制到用户电脑。
  • 用 VBA 或脚本实现 Excel 自动刷新。

🛡️ 安全建议

  • 使用强密码。
  • 只给用户授予 db_datareader 权限,避免写操作。
  • 可通过视图限制他们访问的数据范围。

相关推荐
softbangong13 小时前
815-批量Excel文件合并工具,批量excel文件、工作表合并软件
linux·windows·excel·文件合并·excel合并·数据整理
城数派13 小时前
2000-2024年1km精度人口分布栅格数据(全球/全国/分省/分市)
arcgis·信息可视化·数据分析·excel
城数派14 小时前
1984-2024年中国10米分辨率城市土地利用栅格数据(商业、公服、居住等9类)
arcgis·信息可视化·数据分析·excel
城数派14 小时前
2015-2024年我国1km分辨率逐日地表温度(LST)栅格数据
数据库·arcgis·信息可视化·数据分析·excel
城数派14 小时前
中国全国土壤有机碳密度数据集(2010-2024年)
数据库·arcgis·信息可视化·数据分析·excel
Python大数据分析@19 小时前
Pandas相比Excel的优势是哪些?
excel·pandas
fengyehongWorld20 小时前
Excel 添加自定义选项卡
excel
斯特凡今天也很帅1 天前
Excel在保留下拉选项的基础上,通过输入四级目录数据,在一级目录、二级目录、三级目录、五级目录的显示
excel
全栈开发圈3 天前
新书速览|Excel+DeepSeek会计与财务高效办公
语言模型·excel
ew452183 天前
【java】基于hutool实现.Excel导出任意多级自定义表头数据
java·开发语言·excel