急问:我用activeform做拉个ocx,在其他机器上打开该生成的网页时,有的机器能打开,有的不能打开。不能打开的跳出connectionopen(connec()).sqlserver不存在或拒绝访问。想问一下这是怎回事。急!

解决方案 »

  1.   

    你的ocx里面连接了数据库,这些操作都是在你的客户机上进行的操作,所以你需要更新客户机的mdac才可以的
      

  2.   

    在设计ocx的时候如果你连接数据库尽量不要在ocx内部进行连接,你可以考虑通过使用xmlhttp在你的webserver上进行数据库操作并返回指定格式的数据到你的ocx,例如返回一个xml,这样你的数据库操作就统一到webserver上了,了解一下ajax就明白上面我讲的了
      

  3.   

    月亮:你说的“你需要更新客户机的mdac才可以的“,如何更新呢? mdac是什么?
      

  4.   

    Microsoft Data Access Components (MDAC) 2.8http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&familyid=6c050fe3-c795-4b7d-b037-185d0506396c
      

  5.   

    那如果是在ocx内部连接数据库应如何解决呢,因为是在矿上的现场。比较急
      

  6.   

    你下载一个madc安装到你的机器上看看可以连接上数据库么?看看你的网络有没有问题?防火墙之类的有没有阻止你的程序访问网络?
      

  7.   

    哈哈,这个问题简单 ,你要把你的SQL Server的数据库连接设置成IP地址,而不是机器名,这样才能全部打开的。
    因为有些电脑不能解析机器名的,有的是可以的,windows里有一个域名服务器的,如果网路环境复杂的话,就要靠他来指向了。换成IP地址吧,另外端口也要能打开