论文发表指导_期刊投稿推荐_期刊论文发表咨询_职称驿站

论文发表指导,期刊推荐,国际出版

职称驿站学术导航
关闭职称驿站导航

论文发表职称晋升 全方位咨询服务

学术出版,国际教著,国际期刊,SCI,SSCI,EI,SCOPUS,A&HCI等高端学术咨询

Delphi 5数据库应用ODBC数据源自动管理国家级期刊论文

来源:职称驿站所属分类:计算机网络论文
发布时间:浏览:51次

   摘要:本文分析了ODBC数据源设置的原理以及ODBC数据源和Delphi数据库别名的关系。并在此基础上,介绍了在Delphi5数据库应用程序安装、运行中,如何编程实现ODBC数据源和Delphi数据库别名的设置。

  关键字:Delphi、数据库、ODBC、计算机科技期刊投稿

  一、前言

  Delphi的特色之一就是方便而强大的开发数据库的能力,只要轻击几下鼠标,填写极少的几行代码,就能快速地开发出很有风格的数据库应用程序。编写一个数据应用可以很简单,但要在别人的计算机上运行自己的应用却要费一些周折。

  首先,如果对方的计算机上还没有安装过Inprise公司的BDE数据库引擎的话,那么就必须把BDE和应用程序一起安装到对方的计算机中。其次,应用程序中用到的数据库别名(Alias),特别是使用了ODBC数据源连接的数据库别名必须和BDE一起设置。最后,如果应用程序使用的数据库,其存放路径并不是固定的,那么必须根据实际情况进行ODBC和Alias的调整。这些,当然可以在应用程序安装后,利用控制面板中ODBC数据源管理和BDE随带的BDE Administrator通过手工设置。但如此一来,一方面会使应用程序大打折扣,另一方面不便于普通用户自己的安装和今后工作路径的改动。

  和Delphi一起发布的Install Shield Express可以大大简化安装程序的制作,帮助我们完成许多工作。本文将要介绍的,便是如何通过Install Shield和应用程序配合,完成安装和运行时的ODBC数据源的自动设置。

  二、原理

  1、ODBC数据源

  ODBC(Open DataBase Conectivity)是微软公司制定的标准编程接口,只要有相应的ODBC驱动程序,就可以通过ODBC连结操作各种不同的数据库。通常通过控制面板中的ODBC Data Source来配置ODBC的数据源。所谓ODBC数据源就是命名的一组信息,包括需要连结的数据库所在位置(可以是磁盘目录/文件,也可以是网络服务器)、对应的ODBC驱动程序以及访问数据库所需的其他相关信息,用户可以通过数据源的名称(DSNs,Data Source Names)来指定所需的ODBC连接。

  DSNs按照其保存方式和作用范围分为三种:用户DSN、系统DSN和文件DSN。每个文件DSN保存在单独的一个文件中,文件可以在网络范围内共享;用户DSN保存在注册表中,只对当前用户可见;系统DSN页保存在注册表中,但对系统中的所有用户可见。用户DSN和系统DSN的区别在于,用户DSN保存在注册表的HKEY_CURRENT_USER下,而系统DSN保存在HKEY_LOCAL_MACHINE下。

  下面,以系统DSN为例说明如何通过修改注册表直接设置ODBC数据源。假定我们要连接的数据库是Access97的c:testauto.mdb(注意:用较新的ADO连接Access数据库效率更高,这里只是作为一个例子),数据源的名称为CenterAuto,那么可以分为两个步骤:

  (1)注册DSN本身的信息:

  • 在HKEY_LOCAL_MACHINESoftwareODBCODBC.INI下添加主键CenterAuto。主键的名称CenterAuto就是数据源的名称。

  • 向CenterAuto添加键值,关键的几项是

  键值名 键值类型 键值 含义

  Driver 字符串(String) C:WINDOWSSYSTEMODBCJT32.DLL ODBC驱动程序DLL

  DBQ 字符串(string) c:testauto.mdb 连接的数据库

  DriverID 双字(Dword) 19H(十六进制数)

  FIL 字符串(string) MS Access;

  • 在CenterAuto下添加主键Engines

  • 在Engines下添加主键Jet

  • 在Jet下添加键值,要是一些配置信息,例如

  ImplicitCommitSync、MaxBufferSize、PageTimeout、Threads。

  关于不同的ODBC数据源的具体设置,可以查阅有关书籍,不过最简单的方法是在控制面板中设置相应的数据源,然后用Regedit(98中)或Regedit32(NT中)察看一下注册表。

  (2)登记数据源:在HKEY_LOCAL_MACHINESoftwareODBCODBC.INIODBC Data Sources下添加键值名CenterAuto,类型为字符串,键值为“Microsoft Access Driver (*.mdb)”。其中键值名指出了DSN,必须和前面的对应起来;键值则指出了ODBC驱动程序的名称,必须是已安装了的。

  2、BDE别名

  Delphi 5.0通过BDE实现数据库的操作。在连结数据库时,可以直接指出数据库的存放路径,也可以通过指定别名实现,但前者只能实现对文件型数据库的连接,如果要连接服务器上的数据库或ODBC数据源,则必须通过别名。

  BDE的别名可以用随带的Database Desktop中Alias Manager进行管理,也可以在控制面板中用BDE Administrator管理,应用程序运行过程中还可以通过Session不可见控件实现动态管理。不过,对于ODBC数据源,一旦建立了用户DSN或系统DSN,那么BDE就会自动建立一个别名,别名的名称和DSN的名称是一样的。同样的,如果你删除了DSN,那么BDE就会删除相应的别名。这就是说,在Delphi 5.0中操作ODBC数据源,只需要关心DSN的设置就可以了。

  3、Install Shield

  Delphi 5.0附带的Install Shield不带能够完成BDE的安装工作,而且完全支持安装程序对注册表的修改,只要简单地在Make Registry Changes选项下,输入需要添加的注册表项目,就可以实现在应用程序安装时修改注册表的目的。结合前面介绍的ODBC数据源的设置原理,利用这个功能,就可以方便地实现在安装时进行DSN的初始设置。

  4、Delphi 5.0的注册表控件

  Delphi的TRegistry提供了操作Windows注册表的界面,可以在程序中读写注册表中的数据。如果不使用InstallShield,通过TRegistry也可以完成DSN的初始设置。本文仅介绍利用TRegistry实现对DSN的修改,而不介绍DSN的完整设置,但根据上述原理和下面的程序代码,要做到这一点不会有任何问题。

  三、程序代码

  仍然以CenterAuto数据源为例,假设应用程序中有一个“系统设置”选项,允许用户改变CenterAuto数据源连接的Auto.mdb的存放路径,范例程序如下:

  1、“系统设置”Form

  2、代码Option.pas

  unit Option;

  interface

  uses

  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Registry;

  type

  TOptionForm = class(TForm)

  lbPrompt: TLabel;

  edtAutoPath: TEdit;

  btnOK: TButton;

  btnCancel: TButton;

  OpenDialog: TOpenDialog;

  btnBrowse: TButton;

  procedure FormCreate(Sender: TObject);

  procedure FormDestroy(Sender: TObject);

  procedure btnBrowseClick(Sender: TObject);

  procedure btnOKClick(Sender: TObject);

  private

  { Private declarations }

  SystemReg:TRegistry; //TRegistry在Registry单元中定义

  public

  { Public declarations }

  end;

  implementation

  procedure TOptionForm.FormCreate(Sender: TObject);

  begin

  SystemReg:=TRegistry.Create;

  with SystemReg do

  begin

  //TRegistry创建后,默认的RootKey是HKEY_CURRENT_USER

  RootKey:=HKEY_LOCAL_MACHINE;

  //打开CenterAuto主键

  OpenKey(‘SoftwareODBCODBC.INICenterAuto‘,False)

  //读取原来的数据库(含路径)

  edtAutoPath.Text:=ReadString(‘DBQ‘)

  end;

  end;

  procedure TOptionForm.FormDestroy(Sender: TObject);

  begin

  with SystemReg do

  begin

  //关闭打开的主键

  CloseKey;

  //释放SystemReg

  Free;

  end;

  end;

  procedure TOptionForm.btnBrowseClick(Sender: TObject);

  begin

  if OpenDialog.Execute then

  //获取路径和文件名

  edtAutoPath.Text:=OpenDialog.FileName;

  end;

  procedure TOptionForm.btnOKClick(Sender: TObject);

  begin

  //设置新的数据库和路径

  SystemReg.WriteString(‘DBQ‘,edtAutoPath.Text);

  end;

  end.

  3、使用系统设置Form

  在程序中,通过下列代码就可以实现ODBC数据源的动态设置了:

  with ToptionForm.Create do

  begin

  ShowModal;

  Release;

  end;

  四、小结

  本文通过对ODBC数据源和Delphi 5.0种系统注册表的分析,给出了在程序中动态设置ODBC数据源的方法,提高了程序安装、设置的灵活性。实践中,应用于《杭州市交警支队违章数据中心管理系统》,收到了良好的效果。

  参考文献

  [1]Steve Teixeira,《Delphi 4开发大全》,人民邮电出版社,1999年

《Delphi 5数据库应用ODBC数据源自动管理国家级期刊论文》

本文由职称驿站首发,您身边的高端学术顾问

文章名称: Delphi 5数据库应用ODBC数据源自动管理国家级期刊论文

文章地址: https://m.zhichengyz.com/p-23934

相关内容推荐
专著出版价格影响因素
只取得了书号,就一定公开出版了么
Journal of the Indian Society of Remote Sensing容易中稿吗
副高专业技术职称sci论文可以吗
Journal of Medical Virology是sci吗
进职称论文可以用综述论文吗
国际出版社出版的专著能够用来评职称吗
老师出专著需要多长时间,多少钱
未能解决您的问题?马上联系学术顾问

未能解决您的问题?

不要急哦,马上联系学术顾问,获取答案!

免费获取
扫码关注公众号

扫码关注公众号

微信扫码加好友

微信扫码加好友

职称驿站 www.zhichengyz.com 版权所有 仿冒必究
冀ICP备16002873号-3