Delphi+BDE+ODBC+SQL-Server7.0的安装盘制作问题(100分)

  • 主题发起人 主题发起人 国延平
  • 开始时间 开始时间

国延平

Unregistered / Unconfirmed
GUEST, unregistred user!
我用BDE+ODBC+SQL-Server7.0做的商场管理系统,目前正在做安装盘。
我不知道具体的步骤,需要些什么文件,客户端和服务器的安装是否不同。
数据库的别名该如何处理。希望各位大虾给详细的解答。
 
用工具InstallShield (delphi自带有)

具体步骤比较多,你去看《delphi4从入门到精通》(电子工业出版社)的737页开始有详细
的讲解
 
没有什么特别的只是必须选中bde页,并按向导新建别名
 
奉劝:弃bde,换ado,安装太简单啦。^_^
98以上ado自带,所以只要将你的程序拷贝
到用户机即可。一般两张盘即可。
 
既然用,那么ODBC中设置的用户DSN或系统DSN就是对应的别名.
只要手工设置好ODBC或者在程序中即可.
客户端和服务器的安装没有什么不同,唯一的差别就是:
在服务器端设置ODBC时, 服务器名可以用 . 或者 (local) 来表示


当然, 做安装盘时BDE是不可少的,但可以为其BDE减肥, 减肥方法请搜索或
另提问题:
下面先给你一段程序设置ODBC DSN的代码:
Function CreateSQLServerDsn(const FDSN,FServer,FUser:String):Integer;

implementation

Function CreateSQLServerDsn(const FDSN,FServer,FUser:String):Integer;
var
RegisterTemp:TRegistry;
s : string;
begin
RegisterTemp:=TRegistry.Create;
with RegisterTemp do
begin
RootKey:=HKEY_LOCAL_MACHINE;
//首先判断此DSN是否已经存在,如在,则不用继续下去
if OpenKey('Software/ODBC/ODBC.INI/'+FDSN,False) then
begin
CloseKey;
Result:=0;
Free;
exit;
end;
CloseKey;
//判断SQL Server的驱动程序是否已经安装
If OpenKey('Software/ODBC/ODBCINST.INI/ODBC Drivers',False) then
begin
s:=ReadString('SQL Server');
if UpperCase(S)<>'INSTALLED' then
begin
CloseKey;
Result:=2;
Free;
exit;
end;
end
else
begin
CloseKey;
Result:=3;
Free;
exit;
end;
CloseKey;
//寻找SQL Server的驱动程序路径
If OpenKey('Software/ODBC/ODBCINST.INI/SQL Server',False) then
begin
s:=ReadString('Driver');
if S='' then
begin
CloseKey;
Result:=2;
Free;
exit;
end;
end
else
begin
CloseKey;
Result:=2;
Free;
exit;
end;
CloseKey;
//注册一个DSN名称
If OpenKey('Software/ODBC/ODBC.INI/ODBC Data Sources',True) then
WriteString(FDSN,'SQL Server')
else
begin
CloseKey;
Result:=1;
Free;
exit;
end;
CloseKey;
if OpenKey('Software/ODBC/ODBC.INI/'+FDSN,True) then
begin
WriteString('Driver',S);
WriteString('LastUser',FUser);
WriteString('Server',FServer);
Result:=5;
end
else
begin
CloseKey;
Result:=1;
Free;
exit;
end;
CloseKey;
Free;
end;

end;

procedure TForm1.Button1Click(Sender: TObject);
var
i : integer;
begin
i :=CreateSQLServerDsn(trim(Edit1.Text), trim(Edit3.Text),trim(Edit4.Text));
if i= 5 then ShowMessage('成功');
if i= 0 then ShowMessage('失败:'+IntToStr(i));
end;



 
如果要发布BDE的话,最好是自己写程序安装,如果用ise做安装程序,可能会破坏原来的BDE。
可以在程序中先判断有没有已经安装BDE,如果没有,再安装。其实BDE的安装很简单的,只要
拷贝几个文件,并在注册表中注册就可以。
我以前写过一个BDE的安装程序,可惜后来安装Linux时把它搞丢了,现在又懒得重写。
 
多人接受答案了。
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部