这个很难建议所有计算机登录名密码都设一样服务器也一样打开guest 用户run dconcnfg 把权力加到最大

解决方案 »

  1.   

    请问ocean617,如果做配置文件?
    急于想知道这方面的知识
    如果有源代码就更好了
    能详细解说一下吗?谢谢to 8080
    不是我自己的机器,呵呵,都改密码好像有点不妥
      

  2.   


    将adoconnection的连接信息写在一个(ini)文件里,
    连接时读文件确定参数。
      

  3.   

    在DataModuleCreate事件里,参考一下
    procedure TDataModule.DataModuleCreate(Sender: TObject);
    var
      l_IniFile: TIniFile;
      l_DataSource: string;
    begin
      with adoconnect do
      begin
        if not Connected then
        begin
          l_IniFile := TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'connect.ini');
          try
            with l_IniFile do
            begin
              l_DataSource := ReadString('Server', 'Database', '.');
            end;
            ConnectionString := Format('Provider=SQLOLEDB.1;Password='';Persist Security Info=True;User ID=123;Initial Catalog='';Data Source=%s;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Use Encryption for Data=False;Tag with column collation when possible=False', [l_DataSource]);
            Open;
          finally
            l_IniFile.Free;
          end;
        end;
      end;
    end;
      

  4.   

    大致步骤:
      0.安装数据库
      1.安装应用程序服务器(中间层 ),包括应用程序安装、配置数据库接口、注册DCOM支持库,设置权限      
          答:要商品化点,使用InstallShield、Installer VISE、MS VSI等打包, 在安装中
              输入配置数据库接口的常用信息(主要ADOConnectionstring),用注册表或是自
              定义文件存放,最好做成一个小配置程序.以后根据需要可再设置;
              设置权限(在win2000),主要是配置:DCOM,在[开始\运行]输入DCOMCNFG来配置权限,
               而后启用Guest用户.  2.安装客户端应用程序,包括客户程序安装、在网络环境中配置远程访问结构
          答:客户程序打包安装;
              配置,就有点复杂,
                   a.配置连接信息(DCOM).
                   b.在Win95中要安装DCOM95,在win98/Win2000中需要在服务器建立用户,
                     客户端用这用户登陆网络。                                                      
      3.其它特殊配置    
          答:网络通讯协议等
        
      

  5.   

    谢谢gxdmm的源代码
    我中间层使用了com+
    adoconnectionstring是从文件上读出?
    大概的意思有点懂了谢谢namm()
    你的介绍,使我清楚了不少
    当adoconnection指向非本机的数据库时,提示出现“无法启动新的事物”
    是不是就是因为我没有分配DCOM?
    我中间层还在本机上,只是连其他机器上的数据库
    应该是不会用到Dcom的啊
    能解释一下吗?谢谢
    还有,installshield那东西像天书一样,无法看懂
    能介绍比较简单一些的打包软件嘛?
      

  6.   

    是数据库连接问题!
    用Installer VISE打包比较方便。告诉一个e-mail.
      

  7.   

    [email protected]
    nanm(),能发一个给我吗?谢谢了!
      

  8.   

    function TR9Test.PGetAccount: OleVariant;
    var
        szResult: string;
        FRegistry: TRegistry;
    begin
        //读注册表获取S数据库信息
        FRegistry := TRegistry.Create;
        try
            FRegistry.RootKey := HKEY_CURRENT_USER;        if FRegistry.OpenKey('\Software\ANYI\Login',False) then
            begin
                GszServerName := FRegistry.ReadString('DBServer');
                GszDatabaseName := FRegistry.ReadString('DBName');
                GszUserName := FRegistry.ReadString('DBUser');
                GszPassword := FRegistry.ReadString('DBPassword');
            end;
        finally
            FRegistry.Free;
        end;    //登陆数据库服务器
        szResult := '';
        try
            db9.Connected := False;
            db9.Params.Values['SERVER NAME'] :=  GszServerName;
            db9.Params.Values['DATABASE NAME'] := GszDataBaseName;
            db9.Params.Values['USER NAME'] := GszUserName;
            db9.Params.Values['PASSWORD'] := GszPassword;
            db9.Connected := True;
        except
            db9.Close;
            Result := '无法与数据库服务器建立连接,请使用安易后台数据管理工具进行自动配置!';
            Exit;
        end;
        
        //其他操作
    end;
      

  9.   

    非常感谢liusp
    在分发之前,应该能实现一个简单的配置程序
    不知道这个配置程序该如何实现
    谢谢,您知道吗?顺便问一个问题,呵呵,分数是怎么给的?
      

  10.   

    谢谢liusp
    在程序完成之后,分发的时候
    应该编制一个小的配置程序
    请问配置程序该如何编制呢?
    还有一个弱弱的问题,应该怎么给分啊?
    呵呵
      

  11.   

    我建议做一个配置窗口,在用户第一次登陆就给出配置窗口(可以利用ini或是注册表判断是不是第一次登陆,如果是则所对应的键值为空,配置完后就给键值写一个值)
      

  12.   

    我也试过,A每次登陆A+B(同一台机器)均出现"RPC登陆错误"
    不知如何解决?
      

  13.   

    你中间层真的是用的COM+吗?
    看起来你只是用的DCOM,
    COM+不是这么用的.COM+本身有一套发布的工具,不过因为你看来用的是DComnection,
    是没有办法用那种方式的.
      

  14.   

    : halfdream(哈欠) 说得对,
    如果你的中间层和数据库在同一台机器上,那中间层就简单了,
    连接数据库的时候,Connectstring里面不要指定服务器名称,
    就不需要什么配置文件
      

  15.   

    怎样配置DCOM,使其通过防火墙?
      

  16.   

    DCOM狠难穿越防火墙吧
    csdn文档中心有篇文章,介绍soap的,sqap = xml + http
    所以可以轻松穿越防火墙。
    如果实时性要求不高,就用这个吧,现在很热的
      

  17.   

    如果实时性要求很高,就用socket啦
      

  18.   

    顺便问一下,中间层向客户端传送数据,传递的是recordset的指针吗?
      

  19.   

    如果你使用的是COM+的话,则打开组件管理器,新建一个应用程序,将你做好的组件添加到该应用程序中,然后添加角色和用户权限等设置.等一切设置完成后,将其导出生成一个安装程序,然后再在客户机上安装就可以了.需要注意的是,用户必须是用户权限的设置,所有于用户必须都可以访问服务器!
      

  20.   

    类似问题,我给你加200分
    http://www.csdn.net/expert/topic/700/700356.xml?temp=.6419641
      

  21.   

    实际上,如果你的数据库操作都在中间层里面的话,只需要修改中间层原来的adoconnectionstring即可。
    另外如果需要灵活定义联接串的话,请注意测试。据本人详细测试发现:在ASP端通过访问注册表的方法没有用文件的方法好用。
      

  22.   

    我原来就用TDCOMConnection不过由于发布起来很麻烦所以改用TSocketConnection,因为用Tdcomconnection连接中间层药用DCOMCNFG进行配置
    很麻烦,如果要给用户用的话就你每一个用户都要配置。所以我还是改回用TSocketConnection。
      

  23.   

    你看以下李维编写的Delphi5.x ADO/MTS/COM+高级程序设计
    上面写的很清楚。
      

  24.   

    用着com+,却干着DCOM的勾当,com+的分发哪有这么烦
      

  25.   

    那请问com+和dcom有什么区别呢?
      

  26.   

    dcom是com能够跨越机器边界的一种技术
    com+ 是Mts 2.0,企业交易中介,虽然底层是com技术,
    但他大大简化了应用程序的开发,客户端的开发和普通com的本地开发是一样的,
    通过代理程序访问服务器,代理程序是com+服务器生成的