1. 了解BDE以及MSSQL
BDE(Borland Database Engine)是基于ODBC封装的中间层,可以使用BDE操作各种数据库,MSSQL(Microsoft SQL Server)是一种关系型数据库,在Windows平台上非常常见。
在Windows 10以前的操作系统中,BDE是自带的,而在Windows 10及以后的操作系统中,BDE需要自己安装。以下是安装步骤(以Delphi 7为例):
下载并安装BDE(如Borland Database Engine 5.2(Windows 10));
在Delphi 7中选择"Component"→"Install Packages",点击"Add",选择"borlndmm.dll",点击"Open",再点击"OK",完成安装;
在Delphi 7的程序中添加BDE的支持(如Forms中选择"Components"→"Database"→"BDE"...)。
1.1 BDE常见问题
安装完BDE后,有时需要进行一些设置:
BDE配置项在"控制面板"→"BDE Administrator"中,注意"BDE Administrator"需要管理员权限运行;
在"BDE Administrator"中,"Configuration"→"Drivers"→"Native"→"MS SQL Server"下需要设置"Get Driver Func"为"ODBC32.dll\SQLGetPrivateProfileStringW",设置"Library Name"为"sqlsrv32.dll";
在"BDE Administrator"中的"Configuration"→"System"→"INIT"下添加如下内容(注意不能有多余的空格):
DBE=MSSQL
drivername=MSSQL
hostname=your_hostname
DataBase=your_database_name
user_name=your_username
password=your_password
其中,DBE为自定义名称。
1.2 MSSQL的创建与访问
在MSSQL中进行创建与访问,可以使用SQL Server Management Studio(SSMS)或Visual Studio。以下以SSMS为例:
登录SSMS,选择"连接"→"Connect...",输入服务器名称和验证方式;
选择"Object Explorer",右键单击"Database"→"New Database",进行创建;
选择"Tables"→"New Table",进行表格的创建、编辑和保存;
在SSMS中查询数据库的信息:
use your_database_name
select top 10 *
from your_table_name
2. 通过BDE搭建MSSQL连接
在BDE中进行连接MSSQL,可以使用TDatabase/TQuery组合的形式连接。以下以Delphi 7为例:
在Delphi 7中新建一个应用程序,在Form中添加TDatabase和TQuery组件;
在TDatabase的属性中,设置"Database Name"为刚才在"BDE Administrator"中创建的DBE,设置"Alias Name"为自定义名称;
在TQuery的属性中,设置"Database Name"为自定义名称,设置"SQL"为查询语句;
在代码中进行连接、查询和输出:
procedure TForm1.Button1Click(Sender: TObject);
begin
Database1.Open;
try
Query1.SQL.Clear;
Query1.SQL.Add('select top 10 * from your_table_name');
Query1.Prepare;
Query1.Open;
Query1.First;
while not Query1.Eof do
begin
ShowMessage(Query1.Fields[0].AsString);
Query1.Next;
end;
finally
Database1.Close;
end;
end;
其中,Database1和Query1为组件的名称;your_table_name为MSSQL中的表名称。
2.1 BDE常见问题
在使用BDE时,有时需要进行一些设置:
TDatabase的"LoginPrompt"属性默认为True,需要手动设置为False;
在BDE中,如果MSSQL的查询语句中有中文等非ASCII字符,可能会出现乱码问题,需要在TDatabase的属性中设置"CharSet"为"gb2312"或"gbk"等字符集。
2.2 错误处理
在使用BDE连接MSSQL时,可能会出现以下错误,需要进行处理:
BDE Error $2109:无法加载本地客户端库;
BDE Error $3E06:无法打开ODBC数据库;
BDE Error $2A06:语法错误或不完整;
BDE Error $210D:无法确定模式的数据类型。
其中,BDE Error $2109一般是由BDE没有正确安装或"BDE Administrator"没有正确配置导致的;BDE Error $2A06和BDE Error $210D一般是由查询语句或数据库模式中的数据类型错误导致的;BDE Error $3E06一般是由ODBC配置不正确导致的。
3. 总结
BDE是一种快速、易于使用的中间层,在进行数据库连接时,可以使用BDE进行各种数据库的操作。本文介绍了BDE与MSSQL的连接过程,以及在使用BDE连接MSSQL时可能会遇到的问题和错误处理。