BDE动态连接Oracle数据库

说明:系统是三层架构;数据库是Oracle9, Server采用BDE连接数据库,使用scktsrvr.exe,Client采用SocketConnection连接到Server。本系统Server采用读取配置文件来动态连接所需要的数据库,如果系统更换数据库、修改数据库的配置、或者增、删、改数据库只需要修改相应的配置文件,避免了去修改系统。而且此配置文件允许写入多个数据库信息。我把这个配置文件放到一个文件夹中可以允许多个系统读取,而且能够自动更新本地的配置文件。

1.  Server 端Unit1 的主要程序代码:

procedure TForm1.FormCreate(Sender: TObject);

begin     //下面代码自动更新配置文件

if not FileExists(ExtractFilePath(Application.ExeName)+'DBConfig.ini') then

begin

CopyFile('//remoteserver/application/DBConfig/DBConfig.ini',PChar(ExtractFilePath(Application.ExeName)+'DBConfig.ini'),False);

end

else

begin

if FileAge(ExtractFilePath(Application.ExeName)+'DBConfig.ini') <>

FileAge(''//remoteserver/application/DBConfig/DBConfig.ini') then

CopyFile(''//remoteserver/application /DBConfig.ini',PChar(ExtractFilePath(Application.ExeName)+'DBConfig.ini'),False);

end;

//读取配置文件的内容。

Iniprms:=Tinifile.Create(ExtractFilePath(Application.ExeName)+'DBConfig.ini');

USERNAME:=Iniprms.Readstring('DATABASE1','USERNAME','');

PASSWORD:=Iniprms.Readstring('DATABASE1','PASSWORD','');

DATABASENAME:=Iniprms.Readstring('DATABASE1','DATABASENAME','');

ALIASNAME:=Iniprms.Readstring('DATABASE1','ALIASNAME','');

end;

2.Server 端DataModule 中主要代码:

procedure TSH_TR_Monitor.RemoteDataModuleCreate(Sender: TObject);

begin

//设置数据库连接信息

Database1.Connected:= False;

Database1.Params.Values['USERNAME']:=Unit1.USERNAME;

Database1.Params.Values['PASSWORD']:=Unit1.PASSWORD;

Database1.LoginPrompt:=False;

Database1.DatabaseName:=Unit1.DATABASENAME;

Database1.AliasName:=Unit1.ALIASNAME;

Database1.Connected :=true;

Query1.DatabaseName :=Database1.DatabaseName;

Query2.DatabaseName :=Database1.DatabaseName;

end;

bde oracle 商友的流程_bde oracle 商友的流程_BDE动态连接Oracle数据库相关推荐

  1. bde oracle 商友的流程_BDE动态连接Oracle数据库

    BDE动态连接Oracle数据库 说明:系统是三层架构:数据库是Oracle9, Server采用BDE连接数据库,使用scktsrvr.exe,Client采用SocketConnection连接到 ...

  2. BDE动态连接Oracle数据库

    BDE动态连接Oracle数据库 说明:系统是三层架构:数据库是Oracle9, Server采用BDE连接数据库,使用scktsrvr.exe,Client采用SocketConnection连接到 ...

  3. oracle客户端工具_Oracle 发布基于 VS Code 的开发者工具,轻松连接 Oracle 数据库

    在之前的文章中,我们提到了亚马逊.谷歌.IBM 等大厂都上了 Visual Studio Code 的船. 今天(北京时间 2019 年 6 月 20 日),甲骨文也上了 VS Code 的船,发布了 ...

  4. 一起学微软Power BI系列-使用技巧(1)连接Oracle与Mysql数据库

    说起Oracle数据库,以前没用过Oracle不知道,但是这1年用Oracle后,发现真的是想狂吐槽,特别是那个.NET驱动和链接字符串,特别奇葩.总归是和其他数据库不一样,标新立异,不知道为何.另外 ...

  5. sqllyog可以连接oracle_03-SQLServer中链接服务器用法--连接Oracle

    一.前言 1.使用SQLServer连接Oracle的方式有2种(对应2个不同的数据源程序) (1)创建本地的数据源ODBC,是在Net Configuration Assistant里配置,对应的S ...

  6. python调用oracle过程 权限不足_Python连接Oracle的一些坑以及出现原因和解决方法...

    前两天公司需要, 我用Python通过Oracle客户端instanceclient对接Oracle,遇到了一些问题: 提前一个小问题: Python连接Oracle需要一个第三方库:cx_Oracl ...

  7. oracle代码连接,Oracle连接核心知识点

    一:开始进入Oracle的世界吧 借我学校一位Oracle学的很牛逼的老师一句话:学好Oracle,再去学习其他数据库的时候,你会有一种:一览众山小的感觉! 注意:本博客的所有Oracle的技术都是在 ...

  8. python连接oracle报错DPI-1047

    pip install cx_Oracle python连接时报错: 报错信息:cx_Oracle.DatabaseError: DPI-1047: Cannot locate a 64-bit Or ...

  9. KingSCADA通过ODBC连接Oracle数据库

    一.安装oracle的ODBC驱动 注意:安装的驱动版本应和你要连接的数据库版本一致! 找到instantclient_11_2文件夹,进入CMD命令行窗口(管理员权限),输入: cd D:\inst ...

最新文章

  1. 大学生学习c语言方法,针对在校大学生的C语言入门学习——函数
  2. windows下利用sox批量将PCM转为WAV
  3. react hooks实例演示
  4. Virtural Box 虚拟ubuntu 修改分辨率
  5. 云虚拟主机和传统虚拟主机的区别?
  6. AndroidStudio_安卓原生开发_v4v7升级到androidx方法---Android原生开发工作笔记147
  7. 网络流之最小点权覆盖和最大点权独立集学习
  8. SRA 案例:关于华为开发者联盟基础服务文档内容的改进建议(华为开发者联盟文档深度体验官)
  9. matlab 发音,MATLAB,MATLAB language,音标,读音,翻译,英文例句,英语词典
  10. cocos2dx[2.x](13)--基本绘图DrawPrimitives
  11. Cisco Packet Tracer中配置单区域OSPF
  12. tomcat修改主页
  13. matlab获取地图边界,科学网—提取百度地图县域的矢量边界 - 张乐乐的博文
  14. 高级运维工程师面试题(更新中)
  15. 利用layui创建二级表头
  16. 买个云服务器搭建自己的ngrok做微信公众号开发
  17. 微软都有哪些开源项目?
  18. 我奋斗了10年才能和你坐在一起喝咖啡
  19. Nginx编译安装及配置文件详解
  20. OllyDBG 寄存器窗口

热门文章

  1. Flutter Exception降到万分之几的秘密
  2. CrazyWing:Python自动化运维开发实战 六、流程控制
  3. 【机器学习实战】第3章 决策树(Decision Tree)
  4. HDU 5836 Rubik's Cube BFS
  5. C语言 数据结构与算法 一
  6. C 入门 第八节 指针
  7. DRP问题集结(一)-Tomcat无法启动,报错java.lang.NoClassDefFoundError: org/apache/juli/logging/LogFactory...
  8. 01-Java基础语法
  9. Spark源码阅读02-Spark核心原理之监控管理
  10. Scala单例对象(伴生对象)