访问远程 DBISAM 数据库的方法

刘国辉 2009-8-17

一、          摘要

DBISAM 是简单易用的桌面型数据库,适用于开发小型的桌面程序,大部分情况下数据库是位于本机的,但是,在某些情况下也需要访问位于其他机器的数据库,本文就是介绍访问位于其他机器上的数据库的方法。

二、          方法1:通过文件共享方式

DBISAM 不是单文件数据库,没有独立的数据库文件,而是每个表都有自己的数据文件和索引文件,一个目录就是一个数据库。访问 DBISAM 数据库的常用方法如下:

var

db: TDBISAMDataBase;

tbl: TDBISAMTable;

begin

// … 创建 db 和 tbl,此处略过

db.DataBaseName := ‘test’;

db.Directory := ‘d:/abc’; // 设置要访问的数据表所在目录

tbl.DataBaseName := ‘test’; // 将 tbl 关联到 db

end;

注:这种方法中的DataBaseName只是一个标识,用于标识db对象的,没有实际意义。

而如果我们要访问其他机器上的DBISAM数据库,只需要将 db.DataBaseName 设置为该数据库所在目录的网络地址,如

db.Directory := ‘//remotehost/abc’;

同时,要设置该目录为共享,并且根据需要设置相应的权限,如果仅仅是查询,则设置读权限即可,如果要删除记录或者插入记录等则需要设置写权限。

这种方法简单易行,但是因为要共享数据库目录,安全性较差。

三、          方法2:通过DBISAM SERVER方式

DBISAM 也提供了数据库服务器,但是,与SQL SERVER 等其他大中型数据库不同的是,该服务器并不是以服务形式运行,而是一个名为dbsrvr.exe的程序,该程序随DBISAM一起安装,位于dbisam7/server/dbsrvr目录下。首先需要运行该程序:

DBISAM 数据库服务器使用了两个端口,一个是数据访问端口12005,一个是数据库管理端口12006,我们访问数据库需要使用12005端口,而12006端口则是给数据库管理程序使用。

运行dbsrvr.exe后,我们还不能访问数据库,因为没有没有数据库可访问,还要使用DBISAM的服务器管理程序Server Administration Utility创建数据库。

Server Administration Utility程序在DBISAM 的工具包DBISAM.Additional.Software.and.Utilities中提供,执行该程序,界面如下:

首先,要设置数据库服务器参数,执行菜单File->Options,弹出设置菜单:

一般设置IP地址即可,OK之后执行菜单File->Login to server,弹出服务器登录界面,输入用户名和密码(初始用户名为Admin,初始密码为DBAdmin,用户名不限大小写,密码与大小写有关),登录后即出现管理界面:

需要关注的是Users、Databases页面,Users是设置数据库服务器的用户,即我们刚才登录时的admin用户,可以通过add来创建新用户,通过edit来修改用户密码,通过delete删除用户。

Databases页用于管理数据库:

点击Add新建一个数据库,该数据库的名字很重要,访问时需要用到,设置数据库的目录,此时就可以通过远程访问该数据库了。

远方访问代码如下:

Var

db: TDBISAMDataBase;

tbl: TDBISAMTable;

ses: TDBISAMSession;

begin

// … 创建 db、tbl、ses,略过

ses.SessionType := stRemote; // 设置为访问远程数据库Session

ses.RemoteAddress := ‘127.0.0.1’; // 远程数据库服务器的IP地址

ses.RemotePort := 12005; // 数据访问端口

ses.RemoteUser := ‘Admin’; // 服务器用户

ses.RemotePassword := ‘DBAdmin’; // 服务器用户密码

ses.SessionName := ‘sesTest’;  // 该 Session 的标识

ses.Active := True; // 连接数据库

db.DatabaseName := ‘dbTest’;

db.SessionName := ‘sesTest’;

db.RemoteDatabase := ‘mytestdb’;  // 远程数据库名

db.Connected := TRUE; // 打开数据库

tbl.DatabaseName := ‘dbTest’;

tbl.SessionName := ‘sesTest’;

tbl.TableName := ‘test’;

tbl.Active := True;  // 打开数据表

… // 操作数据表

end;

访问远程 DBISAM 数据库的方法相关推荐

  1. oracle presentation = ro,设置sqlplus访问远程oracle数据库的方法

    如果要连接远程数据库,传统的一定可行的方法是在本地装一个oracle,然后使用"Network Configuration Assistant"配置,之后用PL/SQL Dev连接 ...

  2. sql+plus远程连接mysql_设置sqlplus访问远程oracle数据库的方法

    如果要连接远程数据库,传统的一定可行的方法是在本地装一个oracle,然后使用"Network Configuration Assistant"配置,之后用PL/SQL Dev连接 ...

  3. linux服务器安装mysql数据库并通过本地Navicat连接访问远程mysq数据库

    之前因为项目需要,所以自己在linux服务器上安装了mysql数据库,但是自己在安装mysql数据库的时候也是遇到了很多的问题,所以特此在本博客中介绍一下如何在linux服务器上进行mysql数据库的 ...

  4. postgresql数据库系列之:cmd命令行访问远程postgresql数据库

    postgresql数据库系列之:cmd命令行访问远程postgresql数据库 psql -h 10.129.88.141 -U iris_read -d iris_test Password fo ...

  5. 本地MySQL数据库要访问远程MySQL数据库的表中的数据的实现

    转自: http://blog.csdn.net/jenminzhang/article/details/9872647 1.实现基本思路:借助 MySQL的 federated 存储引擎实现 fed ...

  6. 【微信小程序-原生开发】转发给好友/群,分享到朋友圈(含单页模式访问云开发数据库的方法)

    转发给好友/群 在对应页面的 js 文件中,添加如下代码 // 点击右上角转发分享给好友/群onShareAppMessage() {let detail = this.data.detailretu ...

  7. 访问远程mysql数据库

    使用mysql命令窗口模式/工具,比如需要给'10.2.9.239' 的用户分配mantis123,mantis123访问,则使用如下格式: GRANT ALL PRIVILEGES ON *.* T ...

  8. oracle数据库访问sqlserver2008,透过SQL Server 2008访问Oracle 10g的配置方法

    之前写过一篇关于SQL Server 访问MySQL数据库的文章,最近正好又遇到需要访问Oracle 的情况,将配置过程记录下来也供大家参考. 准备工作 事先在需要访问Oracle 数据库的主机上完成 ...

  9. PC 上访问设备数据库的方法

    通过 .NET 访问 .sdf 的数据库的方法: 在 VS2005 IDE 中,创建 SQL MOible 数据库,编辑表结果和填充数据. 具体是在 Server Explorer 中,右键单击 &q ...

最新文章

  1. F5内网大二层负载均衡业务访问故障解析(CISCO OTV+LISP-MTU问题导致)
  2. 都已经十岁的 Apache Dubbo,还能再乘风破浪吗?
  3. JS校验身份证号码的有效性
  4. 写给 Web 开发者的深度学习教程 - 向量化 矩阵
  5. 管理系统界面设计python_python图形化界面设计(wxpython)一布局管理
  6. y7000p内存是一个16还是8+8_16层蜜瓜蛋糕,每日限量8件,只卖一个夏天!
  7. 【AngularJS】—— 2 初识AngularJs(续)
  8. 分页请求json数据_Python爬虫入门教程 28-100 虎嗅网文章数据抓取 pyspider
  9. 软件测试的基础知识(五)
  10. luogu_P3345[zjoi2015]幻想乡战略游戏
  11. ioc中最基本的JAVA技术_Spring IOC 知识点总结
  12. vue-cli3 按需加载loading,服务的方式调用
  13. ipad键盘映射_如何在iPad上重新映射修饰键
  14. 使用postfix和roundcube搭建webemail
  15. 关于fpga的语言逻辑异步电路同步时序电路终于读懂了
  16. 【Python学习 】Python实现的FTP上传和下载功能
  17. 817自动控制原理-2-关于阻尼
  18. 如何使用装饰设计模式读取指定路径下的纯文本文件的实现代码
  19. 制作几个最简单的网页,需要学习HTML与CSS就好了,通过hbuilder写代码就好了,易迅达 精心推荐
  20. abel533 / ECharts

热门文章

  1. Mac重启清理缓存会怎么样 mac清理缓存怎么清理
  2. 智慧公厕都是用什么除臭设备去除异味的?
  3. [附源码]java毕业设计音乐交流平台
  4. EKT多链技术丨区块链里的精密元件
  5. jQuery eq() 方法
  6. 四年软件测试经验,裸辞后居然找不到工作了···
  7. java 适配器_java 适配器模式 详解(带电源插座适配 例子)
  8. Perl 数据结构学习笔记
  9. 手机客户端软件:不拼创意 拼MONEY和执行力
  10. 用python开发物联网终端设备模拟器