【问题标题】:Repoint legacy app to new oracle home hierarchy将旧版应用程序重新指向新的 oracle home 层次结构
【发布时间】:2014-02-27 14:01:09
【问题描述】:

我正在使用 2 台虚拟机来测试新平台上的旧版应用程序功能,并升级操作系统和数据库。在新客户端 (Win7Prox64) 上测试的应用程序是用 VB6 编写的。 (它很老了!)当应用程序启动时,它会打开一个允许用户登录的表单。 它连接的旧数据库在 Server2003SP2 32 位机器上为 11G,应用程序在 32 位 XP 客户端上运行。 (用于测试的新服务器的新 VM 为 2008R2x64)。

旧版应用声明了以下内容:("frmLogin.frm") (应用程序通过为这些 Const 分配正确的目录路径来检查注册表中 tnsnames 的位置)

Private Const MODULE_NAME = "frmLogin"
Private Const REG_APP_KEY = "Software\ORACLE\HOME"
Private Const REG_APP_PATH = "Oracle_Home"
Private Const REG_ALL_HOMES = "Software\Oracle\ALL_HOMES"
Private Const REG_LAST_HOME = "LAST_HOME"
Private Const REG_MYAPP_KEY = "Software\company\myapp"
Private Const MYAPP_APP_KEY = "Database Host Name"

我假设我必须将这些常量更改为使用 11GR2 找到的新层次结构以使其正常工作,我该如何检查和更新这些?我不确定它是否像更改上面的目录一样简单,但我可能是错的。

欢迎任何提示。

编辑:我注意到 Win7 64 注册表项上的 11GR2 与 11G 的 XP 32 位有很大不同。无论是布局还是内容。例如 LAST_HOME 在 Win7 上似乎不存在,有什么建议吗?

我将 tnsnames.ora 位置的引用硬编码到应用程序中,我知道它在新的 64 位客户端上运行(并且似乎运行良好),但我无法为它的每台客户端机器硬编码它将驻留,因此需要正确重新指向目录。

【问题讨论】:

    标签: oracle vb6 oracle11gr2 oracle-home


    【解决方案1】:

    您必须检查HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_*** 中的每个注册表项,因为在一个系统上可能有多个安装。

    转到注册表中的HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE,然后检查每个子键是否以KEY_ 开头。 (不介意就选第一个,如果介意,就每一个都去)

    在这些键中你会发现:

    • TNS_ADMIN,将保存 tnsnames.ora 的偏离位置;
    • ORACLE_HOME,您需要在其中附加 network\admin,通常会在其中找到 tnsnames.ora。

    【讨论】:

    • 不确定我是否遵循,这只是我看到的:i.imgur.com/J2SP0mE.jpg & XP 上完全不同的层次结构和键:i.imgur.com/NIIMtqP.jpg(该应用程序适用于此,我需要修改我的 vb6 代码,所以它适用于第一张图片)
    • 这是代码当前在 XP 中计算位置的方式: strOHD = GetRegistryKey(strKey & GetRegistryKey(REG_ALL_HOMES, REG_LAST_HOME, bLocal_Machine:=True), _ REG_APP_PATH, bLocal_Machine:=True) strfilename = strOHD & "\network\admin\tnsnames.ora"
    • 如果我将它修改为这样,我可以让它在 Win7x64 中工作:'//strfilename = "C:\app\username\product\11.2.0\client_1\network\admin\tnsnames. ora" 但是这种硬编码是不合适的。
    • @GrumP:查看here 以查找所有子键。代码太长了,这里就不放了。
    • 尝试了与 2012 和 2008 Visual Studio 的链接,但都出现了错误。
    猜你喜欢
    • 2014-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-05
    相关资源
    最近更新 更多