用IS5.0将数据库的DSN自动添加ODBC中

发表于:2008-02-02来源:作者:点击数: 标签:
安装程序自动将 数据库 DSN添加到ODBC中一般通过在注册表中添加响应信息完成,分析以下注册表的相关内容。 运行regedit可以观察到注册表中层次关系如下: HKEY_LOCAL_MACHINE SOFTWARE ODBC ODBC.INI C07 在ODBC.INI下加入DSN的信息即可。 在此介绍一个例子程
安装程序自动将数据库DSN添加到ODBC中一般通过在注册表中添加响应信息完成,分析以下注册表的相关内容。

  运行regedit可以观察到注册表中层次关系如下:
  HKEY_LOCAL_MACHINE
  SOFTWARE
  ODBC
  ODBC.INI
  C07

  在ODBC.INI下加入DSN的信息即可。

  在此介绍一个例子程序,以供参考。

  本例用安装工具installshield 5.0完成,数据库为Sybase SQL any Where,5.5;应用程序开发工具为:Powerbuilder 6.5。

  此方法已用到诸多程序中,由于此方法属于Windows 中ODBC和注册表的基本概念,可试用于其他程序。

  1 .Sybase SQL any Where 5.5 数 据 库 的 名 称:c07.db

  2 .Powerbuilder 数 据 库 连 接 程 序:
  SQLCA.DBMS = “ODBC”
  SQLCA.Database = “c07”
  SQLCA.AutoCommit = True
  SQLCA.DBParm = “ConnectString=‘DSN=c07;UID=dba;PWD=sql’”

  3 .installshielder5.0 的 程 序 片 段

  ⑴ 定 义 头 文 件

  在 源 程 序 中 找 到 如 下 信 息:
  // Include header file
  #include “sdlang.h”
  #include “sddialog.h”
  //string defines //
  #define UNINST_LOGFILE_NAME “Uninst.isu”
  // 加 入 头 文 件 定 义 信 息, 第 一 段 程 序 开 始 点
  #define UNINST_LOGFILE_NAME “Uninst.isu”
  #define COMPANY_NAME “ODBC”
  #define PRODUCT_NAME “ODBC.INI”
  #define PRODUCT_VERSION “c07”
  #define PRODUCT_KEY “rtdsk50.exe”
  #define DEINSTALL_KEY“pb60_DeinstKey”
  #define UNINSTALL_NAME“pb60_uninstname”
  #define DEFAULT_LOG_PATH “pb60”
  // 第 一 段 程 序 结 束 点

  ⑵ 定 义 全 局 变 量

  在 程 序 中 找 到 如 下 信 息:
  // ----- global variables ------
  // generated

原文转自:http://www.ltesting.net