对于BDE会话期对象来说,BDE别名特别重要,许多方法都需要传递一个数据库的别名作为参数。Tsession提供了管理BDE别名的功能。
但是作者往往等到要发布程序时才发现,你的程序由于找不到别名而无法运行,必须在一台已经装了BDE管理程序的机上才能用,你一定非常失望。不要紧,只要在程序中加入以下语句,你的
程序就又可以执行。
AddAlias用于为Paradox、dBase或文本创建别名,不需要连接参数,只需指定一个路径和默认的驱动
程序。
AddStandardAlias函数则需要传递三个参数,Name参数用于指定名称,Driver参数用于指定SQL Links驱动
程序,List参数用于指定连接参数。
procedure TForm1.FormCreate(Sender: Tobject);
begin
with Session do
begin
ConfigMode := cmSession;
try
AddStandardAlias(''WorkMen'', ExtractFilePath(ParamStr(0)), ''PARADOX'');
finally
ConfigMode := cmAll;
end;
end;
end;
上面的是单机版的创建别名方法,还有创建SQL服务器别名的方法
procedure TForm1.FormCreate(Sender: Tobject);
var MyList: TStringList;
begin
MyList := TStringList.Create;
try
with MyList do
begin
Add(''SERVER NAME=IB_SERVER:/PATH/DATABASE.GDB'');
Add(''USER NAME=MYNAME'');
end;
Session1.AddAlias(''WorkMen'', ''INTRBASE'', MyList);
finally
MyList.Free;
end;
end;
要说明的是,调用AddStandardAlias或AddAlias函数创建的别名只存在于内存中,
程序关闭后就没有了,要把别名永远的保存到BDE配置文件中,请调用SaveConfigFile函数来保存到设置文件中。
/////////////////////////////////
---- 一、 数 据 库 别 名(Alias) 的 定 义 和 检 测 方 法
---- 当Type 为STANDARD 时, 别 名 定 义 最 为 简 单, 这 时 仅 能 采 用PARADOX, DBASE,ASCIIDRV 三 种 数 据 库 作 为 缺 省 的 驱 动 程 序(DEFAULT DRIVER)。
---- 另 外, 还 要 定 义 数 据 库 存 放 路 径(PATH) 和ENABLE BCD, 才 能 建 立 一 个 完 整 的 数 据 库 别 名。
---- Delphi 的 数 据 库 应 用 程 序 能 自 动 提 供 一 个Session 组 件, 这 个 Session 组 件 即 为 应 用 程 序 与BDE 的 接 口。
---- 1. 检 测 别 名
---- 通 过 调 用Session.GetAliasNames(list:Tstrings) 方 法, 可 将 当 前BDE 配 置 中 的 所 有 数 据 库 别 名 的 名 称 存 放 到List 字 符 串 列 表 中。 list.IndexOf('' 需 要 检 测 的 别 名'') 的 值 会 告 诉 我 们 这 个 别 名 是 否 存 在 ( 其 值 为-1 时 不 存 在)。
---- 2. 增 加 一 个 新 的 别 名
---- Session 组 件 的 过 程AddStandardAlias(const Name, Path, DefaultDriver: string), 可 以 增 加 一 个 标 准 类 型 的 数 据 库 别 名。 例 如 增 加 一 个 名 为Cntssamp, 缺 省 数 据 库 驱 动 程 序 为PARADOX、 存 放 路 径 为c:\delphp11 的 别 名:
---- Session.AddStandardAlias(''Cntssamp'',''c:\delphp11'',''Paradox'');
---- 3.BDE 配 置 文 件 存 盘
---- Session.SaveConfigFile;
---