Visual C++ 7.1Visual Studio 6Visual C++ 7.0DBAWindows 2003Windows 2000Visual C++ 6.0Windows XPMFC中级开发Visual StudioSQL ServerSQLWindowsC++
使用 COSidHelper 类自动发现 Oracle TNS 服务名






4.20/5 (10投票s)
2003年9月6日
1分钟阅读

72283

949
一篇关于如何发现 Oracle TNS 服务名的文章。
引言
本文介绍了一个类,它可以自动构建本地机器上定义的 Oracle TNS 服务名。
背景
我一直想知道如何以编程方式查明定义了多少个 Oracle 实例。使用 SQL*Plus,必须输入 Oracle 实例名称。在某些情况下,由于我们可能有大量的数据库,我们经常会出错。有一天,我决定编写一些代码来自动发现本地机器上定义的所有 Oracle 实例。所以,这就是 COSidHelper
类。
使用代码
这段代码非常易于使用,你只需将 SidHelper.h 和 SidHelper.cpp 添加到你的项目中,然后在需要显示 Oracle TNS 服务名时,像这样构造该类的实例
COSidHelper osidHelper; for( int nIndex =0; nIndex < osidHelper.m_strArray.GetSize(); nIndex++ ) { // ... }
为了测试目的,我还添加了一个 Display()
方法。
关注点
- 检查目录是否存在。在较旧的 Oracle 客户端安装中,tnsnames.ora 位于 net80 下,在较新的版本中,它位于网络目录下。
RegistryKey
操作。- Oracle tnsnames.ora 文件结构的解析器。
历史
我很久以前为一款名为 PowerQuery 的软件编写了这个类。今天终于有时间与 CodeProject 社区分享它。你可以免费使用这个类。