我正在着手开发VB6+Sql的进销存系统,因为客户为十一个分公司的集团,且处在不同子网内,考虑到数据安全性,所以想采用服务器端COM+存放SQL登录帐号,但是运行结果显示“70 权限的拒绝”,请高手指点!COM+组件结构:
       sqlidpwd.vbp  (activex dll)
            |
    |
    zh.cls
        |
|MySqlUserid()
|
|MySqlpwd()
        
     代码如下:
             Public Function MySqlUserid() As String
                    MySqlUserid = "sa"
             End Function             Public Function MySqlPwd() As String
                    MySqlPwd = "okletsgojj"
             End Function客户端程序发下:
       Private Sub Form_Load()
               Set ObjUser = CreateObject("sqlidpwd.zh", "10.1.254.211")
                   TxtUserId = ObjUser.mysqluserid
                   TxtPwd = ObjUser.mysqlpwd
               Set ObjUser = Nothing
       End Sub
服务器端已经成功注册sqlidpwd.dll及sqlidpwd.lib,且所导出msi文件已经在客户端安装成功,为什么还会出现以上问题,请高手指点

解决方案 »

  1.   

    补充说明
        数据服务器为WIN2003
        客户端为WINXP
      

  2.   

    to:wwqna(york)
        能否说得具体一点?给个小例子如何?
      

  3.   

    WIN2003的补丁还没出来之前,最好不要用!MS的东西,呵呵!看着办吧!
        闲人的方法我也用过,在Win2000(S)+Win2000(P)下一直调不过,人笨没办法
        哪个兄弟过了的话,提示提示啊!
      

  4.   

    顶,同样的!闲人的方法我也用过,在Win2000(S)+Win2000(P)下一直调不过,人笨没办法
      

  5.   

    1、首先在VB中写一ActiveX(DLL)组件,工程名为COMTEST。编译后在另一程序中调用,确认组件工作正常。
    2、打开“控制面板/管理/组件服务”,在“COM+应用程序”下利用“COM+应用程序安装向导”创建一个空的COM+应用程序,名称为“COMTEST”。
    3、在“COMTEST”下,新建“组件”,在“组件安装向导”中,选择“安装新组件”(注意:不要使用“导入已被注册的组件”),然后将生成的dll及tlb都添加进来(两个文件都要!),完成。
    4、右击“COM+应用程序”上方的“我的电脑”,选择“属性”,然后在“属性”对话框中的“默认属性”页下,将“默认身份验证级”改为“无”,将“默认模拟级别”改为“匿名”,然后在“默认安全设置”页下的默认启动权限里添加"Everyone",确定。(这里是匿名关键之一)
    5、在本地用户管理里启用Guest用户!(这就是有人说权限里设置了Everyone仍然无法访问的原因)
    6、右击“COMTEST”,导出客户端的“应用代理”。注意:在导出对话框中,必须选择“应用程序代理”而不是“服务器应用程序”!并将导出的文件在客户机安装!
    7、好了!现在就可以在客户端进行调用了,点击运行后第一次运行在数秒弹出希望看到的运行结果,在激活服务器的准备状态以后的运行通常都在半秒内响应完成!(注:VB状态下加垃圾机器)后记:本不打算公开方法 ^_^ ,但为感谢龙卷风以前对我问题的热心解答,所以.... 呵呵呵呵..
    另附:有些时候程序不能运行不一定是程序的问题,尤其是与系统和网络相关的东西,多检查一下病毒、网络防火墙和系统权限一般都会有帮助的。 ^_^
      

  6.   

    TO:hlm750908(pro dog)这个方法,在Win2000(S)+Win98是可以的。Win2000(S)+Win2000(P)、Win2000(S)+WinXP一直调不过
      

  7.   

    说对了,我也是在Win2000(S)+Win2000(P)下没调通过。出现70错误
      

  8.   

    不是,是因为com+配置问题,在局域网内也不可
      

  9.   

    dcom 中我用匿名的 通过了
    不过是以前的事
    也是在这里请教别人的 
    现在好长时间没有学习了
    那篇文章不知在哪个目录中
    我找到在贴匿名com
    我也成了
    好像在windowspro 客户端上通过了
    记得不太清楚
    应该行
      

  10.   

    不对,dcom是先在客户端手工设置后
    再导出一个注册表分支文件
    再在其他的机子上导入
    也不是匿名的
      

  11.   

    楼主确认C/S两端都没有开防火墙吗?
    不好意思,最近一直没上CSDN,现在才看到。
      

  12.   

    出现权限错误应该是你3至6步中某处做错了!
    我今天用虚拟机装了98和WIN2000来测试,都能正常使用。
    服务器为WIN2000AS,客户端WIN98和2K都试过了,不能访问跟客户端平台应该没有关系的。
      

  13.   

    能看到这么人讨论com 高兴!
      

  14.   

    up,up遇到同样问题,怎么解决!!!!!!!!!
      

  15.   

    将COM+应用程序置入组件管理器后注册为WEB发布,然后使用RDS做WEB方式COM访问。