1

我正在使用 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 位客户端上运行(并且似乎运行良好),但我无法为它将驻留的每台客户端计算机硬编码它,因此需要正确重新指向目录。

4

1 回答 1

0

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

转到HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE注册表,然后检查每个子键是否以KEY_. (不介意选第一个,介意的话,每一个都过一遍)

在这些键中,您会发现:

  • TNS_ADMIN将保存 tnsnames.ora 的偏离位置;
  • ORACLE_HOME您需要附加的network\admin位置通常可以找到 tnsnames.ora。
于 2014-03-03T10:51:48.630 回答