DELPHI基础教程:Delphi客户服务器应用开发(三)[1]
安装的软件项目
当你安装InterBase SQL Link驱动程序 下列项目将被安装于你的工作站上
表 安装的文件名
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
项 目 描 述
──────────────────────────────────────
SQLD IB DLL 包含InterBase驱动程序和支持文件的动态链接库SQLINT DLL
INTRBASE驱动类型 加在配置工具的驱动管理程序中以配置基本的BorlandInterBase SQL Link驱动程序
INTRBASE别名类型 加入配置文件的别名以使建立联接SQL服务器数据库的别名
SQLD_IB HLP 配置InterBase驱动程序的帮助文件
READLINK TXT Borland SQL Links for Windows自述文件
INTERBAS MSG InterBase消息文件 通常安装上C:\INTERBAS
CONNECT EXE 测试工作站和InterBase服务器连接情况的工具REMOTE DLL InterBase的支持动态链接库
GDS DLL GDS DLL将InterBase服务器描述 安装过程修改工作站的SERVICES文件以增加用于加入SERVICES文件 InterBase 服务器访问所需的协议描述 如 gds db /tcp
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
软件项目中还应包括TCP/IP接口软件
下表列出的文件给InterBase客户端应用提供访问Winsock 的接口
表 TCP/IP接口软件
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
文 件 名 描 述
────────────────────────────────
MVWASYNC EXE 异步通信模块
VSL INT TCP/ P传输初始化文件
WINSOCK DLL Windows Socket动态链接库
MSOCKLIB DLL 将Windows Socket调用映射到VSL驱动程序
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
如果TCP/IP产品不是Winsock 兼容 InterBase客户端应用将也可采用其它TCP/ P 驱动程序 InterBase服务器还可支持其它通信协议 如SPX/ PX NetBeIU等
解决一般的联接问题
如果用SQL Links建立与InterBase服务器的连接有问题可采用下列步骤来分离问题原因
⑴ 通过Windows ISQL工具测试能否与InterBase服务器联接
如果成功 状态信息会出现 并继续步骤⑵
如果不成功 询问数据库管理员
⑵ 检验InterBase SQL Links 驱动程序是否正确安装
⑶ 重新安装SQL Links
⑷ 检查SERVICES 文件中应有行
gds_db /tcp
如果不能正确安装 就请询问数据库管理员 否则继续步骤⑸
⑸ 测试底层协议
① 输入TELNET命令 确认TCP库是否正确安装
如果TCP库正确安装 注册提示符会出现 注册入网检查数据库是否存在
如果消息是 can t resolve hostname 出现 检查工作站的HOSTS文件是否有你 的主机名和IP地址的人口 如
mis_server
如果用TELNET是成功的 但仍然无法正确联接 则没有正确安装InterBase 请寻
求数据库管理员的帮助
② PING到服务器服务器上 测试InterBase服务器是否正常运行并且为桌面应用可见
(如果PING是成功的 消息 servername is alive 被显示)
PING成功但TELNET不成功 则inet daemon可能有问题
如果PING到服务器上不成功 则有网络路径问题 将问题报给网络管理员
如果底层协议不正常 请询问数据库管理员 否则继续帮助⑹
⑹ 确认是否有InterBase服务器的访问权 如果有请继续步骤⑺
⑺ 检查BDE应用程序的InterBase别名是否正确安装
如果能够直接从工作站上联接 但不能从BDE应用程序中 那么很有可能你的
IDAPI CFG别名设置有问题 运行BDE配置工具检查InterBase别名
Delphi Client/Server编程
本节介绍如何运用Delphi可视化开发工具和ObjectPascal语言开发Client\Server的数据库应用程序 采用的例子是CSDEMOS 这是Delphi 自带的演示Client\Server开发的例子 它安装在C:\Program Files\Borland\Delphi \Demos\DB\CSDemos中(缺省安装)
本节将包含以下内容
● 使用TDatabase部件连接SQL服务器
● 用DataSet部件(又称数据集部件) 如TTable和TQuery 联接TDatabase部件并访问数据库以及各种表之间如何切换
● 使用数据库连接
● 触发器的使用方法
● TStoredProc部件的使用方法
● 客户和服务器之间的事务控制
● TStoredProc部件的使用方法
使用TDatabase部件联接SQL服务器
TDatabase部件概述
TDatabase部件处理应用程序与单个数据库的联接 如果不需要控制数据库联接 可以不用创建TDatabase部件 当应用程序试图打开数据库表(Table)时 会自动创建一个临时的TDatabase部件 但如果你想控制数据库的持续联接 进入数据库服务器的注册和数据库别名的值或事务控制 那么你就必须为每个所需的联接创建一个TDatabase部件
创建TDatabase部件
TDatabase 部件在Component Palette中的Data Access页上 你能将其拖放在数据模块(Data module)或窗体中 在设计时创建TDatabase 部件 用户可以设置初始值和编写OnLogin事件处理过程(Event Handle) OnLogin事件给用户提供了第一次注册数据库服务器时定制服务器安全参数 如口令 的能力
TDatabase的关键属性
⑴ DatabaseName属性
DatabaseName是所要联接的数据库名 并且用于DataSet软件 它将出现在DataSet部件的DatabaseName属性的下拉式列表框中 设置DataBaseName属性是定义数据库应用的特定别名 DataSet部件能引用该名字以取代直接使用BDE别名 当TDatabase部件的Connected属性为True时不能修改该属性
⑵ AliaName属性
AliasName是BDE配置工具定义的BDE别名的名字 TDatabase 从中获取其缺省的设置 如果设置DriveName属性 则该属性将被清除 如果当Connected为True 时强行设置DriveName属性将引发异常
⑶ DriveName属性
DriveName是BDE驱动程序 如STANDARD ORACLE SYBASE INFORMIX或INTERBASE的名字 如果设置AliasName 则该属性值将被清除
⑷ Params属性
Params属性包含了打开SQL服务器上数据库时所需的参数 在缺省情况下 这些参数由BDE配置工具设置 用户也可以用数据库参数编辑器(Database Parameters Editor)修改这些参数 对于数据库服务器而言 Params将描述一系列的参数 如服务器名 数据库名 用户名和口令
⑸ Connected属性
Connected属性指明是否建立数据库的联接 当应用程序打开数据库中的一个表时Connected将被置为True;反之 关闭数据库表 Connected将被置为False 除非KeepConnection为True 而将Connected置为True则可不需打开数据库表即可建立数据库联接 TDatabase的KeepConnection属性描述当数据库中没有表打开时是否维持数据库联连
⑹ KeepConnection属性
lishixinzhi/Article/program/Delphi/201311/25129