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数据库相关推荐

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

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

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

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

  3. 我的docker随笔33:在容器中连接oracle数据库

    本文涉及一种在容器中连接 oracle 数据库的方法和步骤,最后给出测试结果.至于使用程序的方式连接,则是后续要实施的工作. 一.引言 之前在 Windows 实现了连接 oracle 数据库,本次尝 ...

  4. java连接phpstudy_java,_java连接Oracle数据库问题,java - phpStudy

    java连接Oracle数据库问题 五月 23, 2016 11:09:27 上午 org.apache.catalina.core.StandardWrapperValve invoke 严重: S ...

  5. arcgis读取oracle数据库,arcgis连接Oracle数据库

    arcgis连接Oracle数据库 配置声明:本人的电脑是win10 64位,安装的Oracle是oracleR11gr2 64  arcgis版本位10.2 安装是在同一台电脑上. 一.首先是安装O ...

  6. dos命令行连接oracle数据库

    C:\Adminstrator> sqlplus "/as sysdba" 查看是否连接到数据库 SQL> select status from v$instance; ...

  7. 用ASP.Net(C#)连接Oracle数据库的方法

    今天看了一下asp.net连接oracle数据库的方法,得到了如下代码.这段代码打开了MyTable表,并把操作员的名字列出.字段类型是OracleString.读取的时候用的是字段编号,我不知道怎么 ...

  8. Jmeter连接Oracle数据库

    一.Jmeter要连接oracle数据库,就必须复制JDBC驱动jar包文件ojdbc14.jar到Jmeter的lib目录下 二.进入Jmeter的bin目录运行Jmeter.bat,启动Jmete ...

  9. JDBC连接Oracle数据库测试

    JDBC连接Oracle数据库测试 package date20180727.dao; import java.sql.Connection; import java.sql.DriverManage ...

最新文章

  1. VS2013打包VC++程序
  2. 用宏定义代替printf函数
  3. SAP 权限对象设置及在程序中的应用
  4. Microsoft SQL Server 2000 中的数据转换服务 (DTS)
  5. Magento教程 3:如何在Magento社群版(Community Edition)安装范例资料?
  6. 【一起学爬虫】爬虫实战:爬取京东零食
  7. 深入浅出统计学读后感
  8. printf输出全格式(C语言)
  9. Ethernet_II帧和802.3_Ethernet帧格式比较
  10. 高精度绝对角度传感器应用高速度角度监测
  11. 京东评论爬虫(详解)
  12. appRTC android studio,webrtc入门之客户端连麦demo-apprtc
  13. layim即时通讯实例各功能整合
  14. QGIS二次开发 数据编辑功能等
  15. 学计算机人都很自私,心理学家:内心极度虚伪的人,往往都有这三个特征,趁早远离!...
  16. 网件 R6400 TTL 救砖详细 教程
  17. Codis的架构设计
  18. uniapp van-dropdown-menu 下拉后页面无法点击的问题
  19. 一斤等于多少克「知识普及」
  20. 三、Maven-单一架构案例(搭建环境:辅助功能,业务功能:登录)

热门文章

  1. 学计算机的学后感,关于大学生计算机学习心得体会(精选4篇)
  2. 释放让iBooks占用的冗余空间
  3. 华为机试--高精度整数加法
  4. 无法分配请求的地址(Cannot assign requested address)的解决方案
  5. java通用软件下载网址_一些常用软件下载网址(分享)
  6. 使用HTML+CSS动画属性让鼠标放在图片上让图片动起来
  7. WPS文档协作的局域网搭建协作平台
  8. IT技术论坛网站推荐
  9. Latex中三线表制作
  10. 基于超级电容Supercapacitor和蓄电池的充放电控制系统simulink仿真