Win2K+ADO+SQLServer软件编完后要在别的机器上运行,总共需要那些DLL文件?(50分)

  • 主题发起人 主题发起人 aerodb
  • 开始时间 开始时间
保险起见,安装mdac_typ.exe吧。
 
mdac_typ.exe在Office的安装盘有,也可以网上下载

ftp://ftp.ncic.ac.cn/incoming1/DBMS/ado/2.5/MDAC_TYP.EXE
ftp://ftp.bjnet.edu.cn/local/patch/mdac_typ.exe
 
Dbnmpntw.dll;Ntwdblib.dll
还要加上这2个连sql server用的宝贝dll
 
多人接受答案了。
 
我是连SqlServer2000,安装程序中不需包括有关ADO的任何东西。
只需在客户端安装SqlServer2000安装盘中的用户端软件或网络连接就可以了(其中包括
MDAC2.6)。

在程序中我是做一个登录Form,当MainForm的OnCreate时,激活这个LoginForm:
procedure TLoginFrm.BtLoginClick(Sender: TObject);
var
ConnectionString:String;
begin
ConnectionString:='Provider=SQLOLEDB.1;Persist Security Info=False'+
';User ID='+EdUser.Text+
';Password='+EdPassword.Text+
';Initial Catalog=一个数据库名'+
';Data Source='+EdServer.Text+';';

Form1.ADOConnection1.ConnectionString:=ConnectionString;
Form1.ADOConnection1.LoginPrompt:=False;
try
Form1.ADOConnection1.Connected:=True;
ModalResult:=mrOK;
except
Application.MessageBox('数据库服务器登录失败,请检查:'+#13#10#13#10+
'1.输入是否正确。'+#13#10+
'2.数据库服务是否正常运行。'+#13#10+
'3.网络连接是否正确。','错误',MB_OK);
end;
end;

procedure TMainFrm.FormCreate(Sender: TObject);
begin
Connected:='DisConnected';
try
LoginFrm:=TLoginFrm.Create(Application);
if LoginFrm.ShowModal=mrOK then
Connected:='Connected';
finally
LoginFrm.Free;
end;
end;

procedure TMainFrm.FormActivate(Sender: TObject);
begin
if Connected<>'Connected' then
Close;
end;

可不可以做为参考(这可能不是你要的),这种做法大家看是不是合理?
(另:不过数据库服务器要用户输入,虽然可以固定一个名字,但想通用一些,有办法
用程序取得数据库服务器名?)

 
arewen,既然是c/s系统,可以做一个udp程序放在数据库服务器上,发子网发送服务器ip嘛,然后你的客户端接收到服务器ip地址后,再组合成connectionstring就行了
 
to:honghs老兄
说得对,这种想法好。
不过我有个想法,就是在程序中不要求用户输入“服务器名”,在我的client程序中只是
用一个固定的别名,就是
';Data Source='+EdServer.Text+';';
这句里写成:Data Source=Dsource;
这样在客户端的SQLServer的网络连接工具中,设定这个别名指向我的Server名。
这样可能也通用一些吧。(只是想法,也没试过)
小弟初学不才望多指教。
 
后退
顶部