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

如何用PowerShell脚本启用ODBC User DSN的TCP/IP协议并配置参数

解决PowerShell配置ODBC User DSN时启用TCP/IP协议的问题

你当前的脚本存在核心问题:Microsoft Access Driver (*.mdb) 是针对本地Access文件数据库的驱动,本身不支持TCP/IP网络连接配置——Access数据库是文件型,无需远程服务器连接。如果你的目标是连接远程SQL Server数据库,必须使用SQL Server专属的ODBC驱动。

正确的解决方案步骤:

  1. 替换为SQL Server ODBC驱动
    根据系统已安装的驱动版本选择,常见的有:

    • ODBC Driver 17 for SQL Server(推荐最新版)
    • SQL Server Native Client 11.0
    • SQL Server(旧版驱动)
  2. 添加TCP/IP协议相关参数
    在SetPropertyValue中指定强制使用TCP/IP的参数,以及服务器地址、端口等信息:

# 添加启用TCP/IP协议的SQL Server用户DSN(32位)
Add-OdbcDsn -Name SQL -Platform "32-bit" -DriverName "ODBC Driver 17 for SQL Server" -DsnType "User" -SetPropertyValue @(
    "Server=tcp:SQLServer,1433",  # 明确指定TCP/IP连接格式:服务器名/IP,端口
    "Network=DBMSSOCN",          # 强制使用TCP/IP协议(DBMSSOCN是SQL Server驱动的TCP/IP标识)
    "UserID=SQLUser",
    "Password=YourSecurePassword" # 若使用SQL认证需添加,建议用加密变量存储密码
)

参数说明:

  • Network=DBMSSOCN:告诉ODBC驱动必须使用TCP/IP协议,而非默认的命名管道或其他协议。
  • Server=tcp:SQLServer,1433:通过tcp:前缀或端口号明确指定TCP/IP连接,避免驱动自动选择其他协议。
  • 若使用Windows身份认证,可将UserID和Password替换为Trusted_Connection=Yes。

验证配置:

执行脚本后,可通过以下命令检查DSN的TCP/IP配置是否生效:

Get-OdbcDsn -Name SQL -Platform "32-bit" -DsnType "User" | Select-Object -ExpandProperty PropertyValue

内容的提问来源于stack exchange,提问作者Vipeen Sekharan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 05:15:43