迁移多个用户 DSN 连接 (ODBC)

迁移多个用户 DSN 连接 (ODBC)

我正在寻找一种方法将多个用户 DSN 连接(ODBC)从旧服务器迁移到新服务器。

在注册表中,我只能看到我自己的用户已保存的用户 DSN 连接,有没有办法可以导出所有用户(总共 15 个)的用户 DSN 连接,这样他们就不必在新服务器上手动设置他们的 DSN 连接?

谢谢!

此致

答案1

如果已安装驱动程序,则可以使用以下 PowerShell 脚本:

$OldDsn = Invoke-Command -ComputerName OldServer { get-odbcdsn } | % { 
    $splat = @{}
    if ($_.PropertyValue) { $splat['SetPropertyValue'] = $_.PropertyValue }
    Add-OdbcDsn -Name $_.Name -DsnType $_.DsnType -Platform $_.Platform `
                -DriverName $_.DriverName @splat
}

在提升权限的 PowerShell/ISE 中在新服务器上运行此命令,并将 ComputerName 参数更改Invoke-Command为旧服务器的主机名

答案2

HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\
HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\

文件 c:\windows\odbc.ini 也重复了一些信息。

C:\Windows\ODBCINST.INI 仅包含驱动程序信息。

这不能替代实际安装驱动程序!

ODBCINST.INI 在以下位置有相应的注册表项

HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\
HKEY_CURRENT_USER\Software\ODBC\ODBCINST.INI\

相关内容