如何产生安全的网络唯一ID?
delphi7三层数据库,一台服务器,若干客户端。
我知道,客户端在上传远程服务器sql2000以后,才可以产生标识ID,唯一的自增长ID,
现在,我想在未上传以前,在客户端就产生唯一的不重复ID,
我的办法是根据以下参数产生ID:
1、电脑里面若干数据表文件的文件修改时间的和
2、记录创建时的电脑时间
3、防止系统时间紊乱,在用一个随机的函数取4位随机数。

解决方案 »

  1.   

    客户端用GUID处理吧,统一到中心数据库了,自动添加自动增长字段。
    sqlserver没有序列就是烦躁,建议用oracle了
      

  2.   

    用上传的文件MD5产生标志不行吗?
    GUID也可以考虑
      

  3.   

    获得一个GUIDeg:
    insert into [User](id,name,sex,password)values(newid(),'xp','1','1234')
      

  4.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      gid: TGUID;
    begin
      CreateGUID(gid);
      showmessage(GUIDToString(gid));
    end;
      

  5.   

    var 
      AGUID: TGUID;   CreateGUID(GUID); 
      (GUIDToString(GUID));