关于三层问题(100分)

  • 主题发起人 主题发起人 567567
  • 开始时间 开始时间
5

567567

Unregistered / Unconfirmed
GUEST, unregistred user!
下载了一个三层的例子 调试后 单机可以运行
然后服务端 放在xp系统 客户端 为2000系统
连接提示 rpc服务器不可用
反之(server 为 2000 client 为xp) 则提示 拒绝访问
服务器已运行scktsrvr.exe
Remote Procedure Call (RPC) 已启用
Remote Procedure Call (RPC) Locator 已启用
DCOM Server Process Launcher 已启用
COM+ Event System 已启用
COM+ System Application 已启用
使用 TSocketConnection 连接
所有机器 已注册 MIDAS
.........................
三层程序 真的这么复杂吗??
 
所有机器 防火墙关闭 杀毒软件关闭 guest everyone 全部放开......
没办法了....................
 
别用那东东做三层了
 
为什么 现在客户 要求 远端一个数据库 本地一个数据库 并且不连inetnet时 可以使用
本地数据库 运行程序 最后定期 数据交换
本想使用c#做 web 但本地数据库是个问题
谁有解决办法 肯定不能明码连接本地数据库进行一些操作
谢谢........
 
看你说的,你应该是用COM+做三层吧!
COM+做的三层程序有一个优点,但也可以变成它的缺点。
安全性非常的高,对应起来,发布变得很麻烦,
好像也有一种方法设置,使安全性可以降到最低。
你如果觉得配置COM+有点难度,那就用Midas方式开发三层吧。
如果你对技术还有研究精神,那么可以研究RemObject SDK、Asta来开发三层程序。
这两者还相当不错。
 
建议采用 dbanywhere 做三层吧,开发非常简单,看我原来的帖子:
http://www.delphibbs.com/delphibbs/dispq.asp?lid=3856395
 
谢谢...正在看
 
dbanywhere 好像要注册什么的....
 
ClientDataSet 得Data属性可以返回表的,写这个事件代码就可以:
function Ttest.DataSetProvider1DataRequest(Sender: TObject;
Input: OleVariant): OleVariant;
var
sCommand: string;
begin
with Sender as TDataSetProviderdo
begin
sCommand:= Input;
sCommand:= Decrypt(sCommand);
//解密
if Pos(sCommand, 'Select') <> 0 then
begin
执行select()
Result:= Encrypt(Data);
//加密后返回
end else
if Pos(sCommand, 'Insert') <> 0 then
DataSet.ExecSQL(sCommand);//执行Insert()
else
if Pos(sCommand, 'Update') <> 0 then
DataSet.ExecSQL(sCommand);//执行Update()
else
if Pos(sCommand, 'Delete') <> 0 then
DataSet.ExecSQL(sCommand);//执行Delete()
else
MyInterface.MyCommand1();//执行命令,如执行存储过程等,应该在TypeLibrary中创建得接口方法;
end;
end;
 
中间层有没有注册过啊?客户端封包都没有加密,那要解密啊
 
谢谢..
我试一下.......
 
客户端加密sql语句后执行不了了,好像服务端没有
运行 DataSetProvider1DataRequest 这一块
 
to man8888
Result:= Encrypt(Data);
这样加密好像不行.....
加密 sCommand 还可以......
请问怎样加密 Result:= Encrypt(Data);
~~~~
这个东西呀~~~~~
或者全部使用服务端 函数进行查询 不使用 ClientDataSet
返回 一个 select * from 表 也行
 
最好
全部使用服务端函数进行查询 不使用 ClientDataSet
返回 一个 select * from 表
 
1.CommandText应该不能加密
2。可以返回数据表,并且可以加密,通过olevariant
在发送前加密,接受后解密
 
可以返回数据表,并且可以加密,通过olevariant
我加密后怎么就接收错误呢?? 能用一般加密字符串的方法加密吗?
 
查了些资料
好像是要转为XML然后再加密
但不知道 怎样将 dataset转为XML
 
dataset转为XML 网上很多资料的找找看吧
 
谁能提供一些源码??
网上找的大多是 需要遍历 一条一条写.....
如果有上万条。。这样也太慢了吧.....
 
简单而论,DevHelper是一款为程序员开发的代码自动生成工具。中文名叫“疯狂代码生成器”。
复杂来说,DevHelper是基于多种数据库多种开发语言的模板化代码代码生成器。它提供丰富的标准库以及简单的接口和逻辑结构,其目的是使开发人员更快速地进行项目框架搭建。
支持数据库:Access、Oracle、SQL-Server和MySQL
支持代码类型:Asp.net、Asp、Dephi 和C# winForm
官方网:http://www.DevHelper.cn
 
后退
顶部