PAYATHON 2026

如何在 SharePoint Excel 中免配置本地 DSN 刷新 Databricks 查询?

数据小陈

结论

可以在 Excel 工作簿的 ODBC 连接中使用 DSN-less connection string,再通过 VBA 刷新连接。这样不必在每台电脑上单独创建 DSN,但每台电脑仍需安装兼容的 ODBC 驱动,也要处理认证、网络访问和驱动配置。

如果要让 SharePoint 中的 50 多个文件由不同用户或自动化流程稳定刷新,集中式刷新通常更合适。可以让受管理的服务或运行环境访问 Databricks,再把刷新结果提供给用户。具体方案要看现有的 Excel 连接类型,以及组织支持哪些刷新平台。

DSN-less 连接能解决什么

DSN 是保存在本机的一组 ODBC 连接配置。DSN-less connection string 可以将驱动名称和连接参数直接写入 Excel 连接,因此每台电脑不必预先创建同名 DSN。也可以用 VBA 在刷新前设置工作簿连接的 connection string。

下面是结构示意,并非可直接使用的 Databricks 连接串。驱动名称、参数名和必填项应以实际安装的 Databricks ODBC 驱动文档及配置为准:

ODBC;DRIVER={<已安装的驱动名称>};<连接参数>=<值>;...

如果工作簿使用 Excel 的 ODBCConnection,可以在 VBA 中更新现有连接并刷新:

Sub RefreshDatabricksConnection()
    Dim conn As ODBCConnection

    Set conn = ThisWorkbook.Connections("DatabricksConnection").ODBCConnection
    conn.Connection = "ODBC;DRIVER={<驱动名称>};<连接参数>=<值>;..."
    conn.Refresh
End Sub

将 DatabricksConnection 替换为工作簿中的实际连接名称,并按驱动要求填写连接参数。这段代码演示了设置和刷新连接的方式;具体属性和连接串需与工作簿当前使用的连接类型及驱动相匹配。

使用前需要处理的限制

  • 每台运行 Excel 刷新查询的电脑都要安装兼容的 ODBC 驱动,且 Excel 与驱动的位数要匹配。
  • 每位用户仍需具备 Databricks 认证凭据、访问权限和网络连通性。DSN-less 连接只省去了本机的 DSN 配置。
  • 不要在 VBA 中硬编码密码、访问令牌等敏感凭据,也不要将它们保存在可共享的工作簿中。应使用组织认可的凭据管理和认证方式。
  • 如果文件同步到电脑后由用户在本地 Excel 中打开,VBA 和 ODBC 刷新仍在该电脑上运行。文件放在 SharePoint 不会自动提供驱动或完成本机配置。
  • 如果需要在无人值守环境或 Excel 网页版中刷新,应先确认目标平台是否支持该连接类型和刷新方式。桌面 Excel 的 VBA/ODBC 方案不一定能直接用于云端刷新。

更适合多用户的刷新方式

如果每位用户都要在自己的电脑上刷新,DSN-less 连接可以减少逐台创建 DSN 的维护工作,但驱动、认证和客户端差异仍需管理。部署前可以用一份副本,在目标用户的环境中检查驱动、连接参数和权限。

如果刷新由定时任务或集中流程执行,可以考虑在受管理的运行环境中连接 Databricks、生成数据,再将结果发布到 SharePoint 供用户读取。这样,ODBC 驱动和 Databricks 凭据由受控环境管理,无需分发到所有用户电脑。具体实现应根据组织支持的服务、Excel 文件的使用方式和数据更新频率来选定。

备注:内容仅供参考。