我是一个桌面支持技术人员,目前正在跨多个站点进行大规模迁移项目。 我正在寻找一种方法来将ODBC条目从Windows XP传输到Windows 7.如果有人知道某个程序或任何预编译的程序,请redirect我。 我已经看了,但没有find任何东西,所以我正在努力build立自己的。
我知道有足够的基本编程来阅读别人的作品,并且用已经存在的东西来monkey猴子,而不是其他的东西。 我遇到了一个写在一个站点的自定义batch file(其中包括)从旧计算机导出ODBC信息并将其存储在服务器上(标记为y:通过文件开始处的net use),然后传输它从服务器到新电脑。 预先存在的代码适用于Windows XP到XP的迁移。 以下是代码的细节:
echo Exporting ODBC Information start /wait regedit.exe /e "y:\%username%\odbc.reg" HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI
(和稍后)
echo Importing ODBC start /wait regedit /s "y:\%username%\odbc.reg"
我们现在从Windows XP迁移到7,batch file的这部分似乎仍然适用于使用Oracle 8i和10g的特定站点。 我正在寻找在多个站点使用我的这个代码的削减版本,我想知道是否相同的代码行将仍然工作,除了甲骨文。
此外,我在这个问题上的研究表明,在64位操作系统中有32/64位条目的不同位置,我想知道对代码会有什么影响。 我可以将相同的数据复制到registry的两个部分,希望捕捉所有的东西吗?
任何援助将不胜感激。 感谢您的时间。
是的,你在正确的轨道上。 实际上有两个registry键你会感兴趣,这取决于你是否为ODBC连接设置了自定义的TCP端口等。
HKLM \ SOFTWARE \ Wow6432Node \ ODBC \ ODBC.INI \
HKLM \ SOFTWARE \ Wow6432Node \微软\的MSSQLServer \客户端\
HKLM是存储系统DSN的地方。 HKCU是为当前用户存储用户DSN的地方。
如果您正在查看64位系统上的32位ODBC条目,则Wow6432Node部分将仅存在。 如果您正在查看32位系统上的32位ODBC条目,则不会看到Wow6432Node文件夹。 如果您正在查看64位系统上的64位ODBC条目,则不会看到Wow6432Node文件夹。 (您可以用32位“32位”和“64位64位”替代“本机”。)您可以在64位计算机上运行32位代码,但不认为它是“本机”。
如果从32位平台导出ODBC条目并将它们导入64位操作系统,则需要将它们放在Wow6432Node文件夹下的相应位置。
换一种方式来看看,在64位的Windows 7电脑上。 运行Windows \ System32 \ odbcad32.exe。 这是本机(64位版本)。在那里添加一个ODBC连接。
现在在同一台机器上运行Windows \ SysWOW64 \ odbcad32.exe。 这是32位版本(WoW64代表64位Windows上的Win32仿真)。您将注意到您创build的ODBC连接不在那里。 因为您不再查看本机ODBC连接。 你在看32位的。
这就是为什么您必须注意ODBC连接来自的体系结构以及您将其导入的体系结构。
编辑:我的解释可能与泥浆一样清晰,但如果你想更好地解释在64位Windows上运行的32位进程的文件系统redirect和registryredirect,我强烈build议Windows内部版本,第6版。 由Mark Russinovich等人 第一部分,第三章。
编辑#2:不,你不能只是将registry项复制到两个地方,希望能够解决所有问题。 系统会更喜欢本地的,如果他们需要在32位的上下文,这将是不行的。