难、难、难,急、急、急(200分)

  • 主题发起人 主题发起人 糊涂小生
  • 开始时间 开始时间

糊涂小生

Unregistered / Unconfirmed
GUEST, unregistred user!
目的:编写多层结构应用程序,在客户端提示登录信息,通过选择可以浏览
多个数据库(SQL Server、DB2等)中的不同的表。
目前现象:本地数据库(不需要登录信息的,如Delphi自带的BDEDEMO)可以
显示该数据库下的所有表,然而远程数据库(如SQL Server、DB2)
因为需要登录,不自动显示该库中的所有表。在本地输入登录信
息后,在服务器端还需要输入同样的登录信息,不知为何?
注:Database的LoginPrompt为False,而且在服务器端程序也写
好了Database的OnLogin事件,UserName和Password通过参数传递
进来。
问题:Server端使用控件DCOMConnection、Database、Table和DataSetProvider,
请教高手,不知如何编写代码,才能不使服务器端出现登录信息,而是通
过客户登录直接连接到远程数据库!最好将源码附上。
 
Server端不应使用控件DCOMConnection,DCOMConnection应在客户端使用
 
是的,写错了,Server端没有DCOMConnection,而是Session
 
不知道这个问题到底有没有人能解决?
我想那么多人用Delphi编写多层结构的数据库应用,不会连这个数据库登录的问题都解决
不了吧?
请各位高手不吝赐教!
 
新建一个写字板文件,扩展名改为.udl。
打开设置好后在服务器端调用。
 
请看Delphi自带的例子
C:/Program Files/Borland/Delphi5/Demos/Midas/Adhoc
 
那个例子我早就看过了,恕我笨拙,没看出个所以然!
请高手再指点!
 
服务器段函数
procedure TAdHocQueryDemo.SetDatabaseName(const DBName,UserName,Password: WideString);
begin
Database1.Close;
Database1.AliasName := DBName;
if Password <> '' then
begin
Database1.Params.Add('User Name='+UserName);
Database1.Params.Add('Password='+Password);
Database1.Open;
end;
end;

客户段调用
RemoteServer.AppServer.SetDatabaseName(DatabaseName,UserName,Password);
 
这要在DATA Server上设定使用者权限和可使用的数据库,例如像SQL的数据库等。
 
试试这个函数
function PromptDataSource(ParentHandle: THandle;
InitialString: WideString): WideString;
 
是不是在win2k 或者 nt 下?可能是权限问题吧?
 
为什么不用TDataBase控件,双击该控件后,编辑其params属性。
 
你看看你的语句的运行顺序,1)DCOM连接,2)传送参数数据库连接,。。。你看看在参数传送前是否进行了数据库的连接。。
 
你不要使用OnLogin事件吧。
 
http://www.delphibbs.com/delphibbs/dispq.asp?lid=647642
 
关注,帮您提前。
我也感兴趣 db2/400
哪能搞到 Client Access ODBC Driver ,或者其它 Windows 到 db2/400 的连接部件?
分数不成问题。
zhahongbin@amcc.com.cn
 
首先要弄清楚在客戶端與應用服務器端所輸密碼的意義.
1.客戶端的用戶名和密碼是客戶端向應用服務器提交以驗證用戶身份的.
2.應用服務器的用戶名和密碼是應用服務器向數據庫服務器提交以驗證數據庫吏用權限的.
這二者的性質根本上講是兩碼事.
兩個地方都可以要求輸入密碼,也可以不用.
1.客戶端屏蔽是將TDCOMConnection的loginPrompt設為False;
2.應用服務器端則應設置TDataBase的一些屬性.或者設置TADOConnection的一些屬性.
示例如下:
DataBase1.LoginPrompt:=False;
DataBase1.HandleShared:=True;
DataBase1.AliasName:='DBAlias';
DataBase1.DataBaseName:='DBName';
DataBase1.Params.Add('User Name=sa');
DataBase1.params.Add('Password=');
DataBase1.Connected:=True;
 
帮您提前一下。
200分问个问题:
http://www.delphibbs.com/delphibbs/dispq.asp?lid=530520
我很快也要用 DB2/400 Cliet Access ODBC Driver ,
请问我在哪可以得到它呢?
那里有一些资料(中英都可以的)?
有效的连接哦!
 
我也关注一下
》本地数据库(不需要登录信息的,如Delphi自带的BDEDEMO)可以
》 显示该数据库下的所有表,然而远程数据库(如SQL Server、DB2)
》 因为需要登录,不自动显示该库中的所有表。
显示该数据库下的所有表 的三层程序,我记得好像在李维的那本书上有个类似小程序
可以显示的 你找找李维的系统篇上
 
帮您提前一下。
200分问个问题:
http://www.delphibbs.com/delphibbs/modifyl.asp?lid=944001
我很快也要用 DB2/400 Cliet Access ODBC Driver ,
请问我在哪可以得到它呢?
那里有一些资料(中英都可以的)?
有效的链接哦!
zhahongbin@amcc.com.cn
 
后退
顶部