首先我已经将COM+组件 SYSmanage.dll 引用到环境中,并且暴露了所有的接口,并且COM组件已经在本机注册(组件服务中)。我现在要对 sqlstrexecute 接口进行操作,它有两个参数,一个参数是SQL语句,一个参数是说明用SQL,还是存储过程。
      try
        sqlstrexecute1.ExecuteSQLStr('select * from jgp.jgp.users',false);
      Except
      on E:EDatabaseError do
      begin
      try
        finally
           if MessageDlg('发生错误,是否显示错误信息?',mtInformation,
                     [mbNo,mbYes],0) = mrYes then
            MessageDlg(E.message+'数据无效',mtError,[mbOk],0);
        end;   
      end; ★报错误如下:连接错误
 ★分析:   是因为的SQLServer没有给我开用户?还是SQL语句有问题?
            不知道谁做过这样的调用?能具体说明说明么?谢谢!
//================================================================
大家好,连接失败的问题原因很简单:
 'select * from jgp.jgp.users'是参数中的Jgp错误,是数据库下的dbo连接对象不正确,改了过来。
但是现在又碰到错误就是:
   远程调用失败
 不知道原因是怎么产生的?有人能说说delphi中调用已经用VC写好的COM时要注意什么问题?sun2000way(小意思) : 数据库的连接在COM中已经写好了,是固定数据库对象名称的,所以ADO连接没有问题,对,它返回记录集,我只调用,不将记录集赋给记录集对象也没有问题的啊,你说呢,希望你能多问问其他哥们,大家一起讨论讨论COM的调用问题!

解决方案 »

  1.   

    MIDAS 和 CORBA 与 COM 3层的部署,都是一样的么?有人知道么?
      

  2.   

    没有人UP么?在DELPHI中如何部署3层架构?
      

  3.   

    如果想利用已有的COM服务器,可以用:DELPHI中的CREATEOBJECT生成,用可变类型。当然,如果,所编的VC COM服务器有类型库(TYPE LIBRARAY),也可在DELPHI中引入类型库,然后,让DELPHI以接口的方式来使用这个COM对象。这与在DELPHI中使用WORD,EXCEL没有什么差别。
      

  4.   

    根据我的经验(不多,我是初学者,不过遇到的问题倒不少)。远程调用失败好像是因为找不到服务器,看一下你那些com object里关于远程主机的设置(主要是主机名和IP)是否正确。
      

  5.   

    能讨论讨论Delphi中调用COM+的要注意的问题么?